ترتیب عملگرها در پایتون

امیرحسین بیگدلو 4 ماه قبل

اگر از چند عملگر ریاضی در یک عبارت پایتونی استفاده کنید، اولویت اجرای عملگرها متفاوت خواهد بود و اجرای آنها براساس قوانین تقدم است. ترتیب اجرای عملگرها در پایتون مشابه ریاضیات بوده و از قوانین تقدم مشابه ریاضیات استفاده میکند. در این آموزش، خواهید آموخت که چگونه اولویت عملگرها بر ترتیب اجرای آنها در پایتون تأثیر می گذارد.

 

دوره پیشنهادی: دوره آموزش پایتون (python)

 

 #  اولویت اجرای عملگرهای پایتون

ترکیبی از مقادیر، متغیرها، عملگرها و فراخوانی توابع به عنوان عبارت(expression) شناخته می شود. مفسر پایتون می تواند یک عبارت معتبر را اجرا کند:

>>> 7 - 5
2

 

در کد بالا بخش 5 - 7 یک عبارت است. این امکان وجود دارد که از چند عملگر در یک عبارت استفاده کنید. برای اجرای این نوع عبارات یک قانون تقدم در پایتون وجود دارد که ترتیب اجرای این عملیات را مشخص می کند.

 

به عنوان مثال، ضرب دارای اولویت بالاتری نسبت به تفریق است:

>>> 10 - 4 * 2
2

 

اما می‌توانیم این ترتیب را با استفاده از پرانتز تغییر دهیم زیرا پرانتز اولویت بیشتری نسبت به ضرب دارد:

>>> (10 - 4) * 2
12

 

اولویت عملگرهای پایتون در جدول زیر آمده است. به ترتیب نزولی است (آیتم‌های بالاتر اولویت بیشتری نسبت به آیتم‌های پایین‌تر دارند):

Operators Meaning
() Parentheses
** Exponent
+x, -x, ~x Unary plus, Unary minus, Bitwise NOT
*, /, //, % Multiplication, Division, Floor division, Modulus
+, - Addition, Subtraction
<<, >> Bitwise shift operators
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
==, !=, >, >=, <, <=, is, is not, in, not in Comparisons, Identity, Membership operators
not Logical NOT
and Logical AND
or Logical OR

 

 

دقت کنید که اگر دو عملگر اولویت یکسانی داشته باشند، اجرای عملگرها از چپ به راست اتفاق خواهد افتاد:

>>> 5 * 2 // 3
3

>>> 5 * (2 // 3)
0

 

 

مثال اول:

>>> 16 - 2 * 5 // 3 + 1
14

در کد بالا ابتدا عبارت 5 * 2 ، سپس 3 // 10 ، سپس 3 - 16 و در آخر 1-13 اجرا خواهد شد.

 

مثال دوم:

>>> 2 ** 2 ** 3 * 3
768

عملگر توان به ضرب اولویت دارد اما تقدم آن از راست به چپ است. پس ابتدا 3**2 میشود 8 ، سپس 8**2 میشود 256 ، و در آخر 3*256 میشود 768.

 

 

مطالب مشابه



مونگارد