تقدم عملگرها در پایتون
جدول زیر تقدم عملگرها در پایتون را از بالاترین تا کمترین تقدم نشان می دهد:
ردیف | عملگر و توضیحات |
1 | ** توان رسانی |
2 | ~ + – متمم، جمع و تفریق یکانی (نام های متداول برای دو مورد آخر +@ و -@ می باشد) |
3 | * / % // ضرب، تقسیم، باقیمانده، تقسیم به کف |
4 | + – جمع و تفریق |
5 | >> << شیفت به راست و چپ |
6 | & عملگر بیتی AND |
7 | ^ | عملگر بیتی OR و عملگر معمولی OR |
8 | <= < > >= |
9 | <> == != عملگرهای برابری |
10 | = %= /= //= -= += *= **= |
11 | is is not |
12 | in not in |
13 | not or and |
تقدم عملگرها در زبان پایتون بر نحوه ارزیابی مقادیر تاثیر می گذارد. برای مثال نتیجه x = 7 + 3 * 2 برابر با 13 خواهد بود، نه 20. زیرا تقدم عملگر ضرب بالا تر از عملگر جمع می باشد. بنابراین ابتدا 3 و 2 با هم ضرب می شوند و سپس نتیحه ضرب آن ها با 7 جمع می شود.
مثال
برای درک بهتر تقدم عملگرها، به مثال زیر توجه کنید:
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 |
هیچ نظری ثبت نشده است