تقدم عملگرها در پایتون
جدول زیر تقدم عملگرها در پایتون را از بالاترین تا کمترین تقدم نشان می دهد:
ردیف | عملگر و توضیحات |
۱ | ** توان رسانی |
۲ | ~ + – متمم، جمع و تفریق یکانی (نام های متداول برای دو مورد آخر +@ و -@ می باشد) |
۳ | * / % // ضرب، تقسیم، باقیمانده، تقسیم به کف |
۴ | + – جمع و تفریق |
۵ | >> << شیفت به راست و چپ |
۶ | & عملگر بیتی AND |
۷ | ^ | عملگر بیتی OR و عملگر معمولی OR |
۸ | <= < > >= |
۹ | <> == != عملگرهای برابری |
۱۰ | = %= /= //= -= += *= **= |
۱۱ | is is not |
۱۲ | in not in |
۱۳ | not or and |
تقدم عملگرها در زبان پایتون بر نحوه ارزیابی مقادیر تاثیر می گذارد. برای مثال نتیجه x = 7 + 3 * 2 برابر با ۱۳ خواهد بود، نه ۲۰٫ زیرا تقدم عملگر ضرب بالا تر از عملگر جمع می باشد. بنابراین ابتدا ۳ و ۲ با هم ضرب می شوند و سپس نتیحه ضرب آن ها با ۷ جمع می شود.
مثال
برای درک بهتر تقدم عملگرها، به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/usr/bin/python a = 20 b = 10 c = 15 d = 5 e = 0 e = (a + b) * c / d #( 30 * 15 ) / 5 print "Value of (a + b) * c / d is ", e e = ((a + b) * c) / d # (30 * 15 ) / 5 print "Value of ((a + b) * c) / d is ", e e = (a + b) * (c / d); # (30) * (15/5) print "Value of (a + b) * (c / d) is ", e e = a + (b * c) / d; # 20 + (150/5) print "Value of a + (b * c) / d is ", e |
خروجی:
1 2 3 4 | Value of (a + b) * c / d is 90 Value of ((a + b) * c) / d is 90 Value of (a + b) * (c / d) is 90 Value of a + (b * c) / d is 50 |
هیچ نظری ثبت نشده است