توانایی پردازش عبارت‌های محاسباتی پیچیده به کمک طیف گسترده‌ای از عملگرها یکی از ویژگی‌های کلیدی پایتون است. مطلع بودن از روشی که پایتون برای ارزیابی عبارت‌ها استفاده ‌می‌کند و نظمی که برای اعمال عملگرها در نظر گرفته، برای نوشتن کدهای صحیح و کارآمد الزامی است. برای پیشرفت در برنامه‌نویسی پایتون،‌ نیز فهم اولویت عملگرها بسیار ضروری است. کمبود دانش توسعه‌دهندگان درباره این مسئله حیاتی می‌تواند باعث بروز رفتارهای غیر منتظره در برنامه نوشته شده شود. در این مطلب از مجله فرادرس تلاش کردیم که به بررسی این مبحث با جزییات کامل بپردازیم و دانش لازم درباره روش صحیح کار با عملگرها را برای کدنویسی کارآمدتر در اختیار شما قرار دهیم.

فهرست مطالب این نوشته

باید برای درک پیچیدگی‌های مربوط به اولویت اجرای عملگرها در پایتون آماده شوید. در این مطلب اصول کلیدی مربوط به اولویت عملگرها را به همراه جزییات و مثال‌ها توضیح داده‌ایم و برای کمک به درک بهتر مخاطبان، عملگرها را در جدولی به همراه قانون PEMDAS و ارتباط عملگرها با یک‌دیگر در پایتون نمایش می‌دهیم.

اولویت عملگرها در پایتون چیست؟

اولویت عملگرها به مجموعه‌ای از قوانین می‌گویند که نظم اجرای عملگر‌ها را تعیین می‌کنند. این مجموعه قوانین درباره اینکه عملگرها در زمان اجرای هر عملیات با چه ترتیبی ارزیابی شوند حکم رانی می‌کنند.

برای اینکه زمان پیاده‌سازی در کدهای برنامه از مبهم‌نویسی ناخواسته، جلوگیری شود بسیار ضروری است که نسبت به این قوانین اطلاعات کافی داشته باشیم. این ابهامات در کدها می‌توانند باعث ایجاد نتایج غیرمنتظره‌ای شوند. فرض کنیم که عبارتی مانند 3 + 4 * 2

 را کدنویسی کرده‌ایم. چطور باید اجرا شود؟ این عبارت باید اول به شکل (3 + 4) * 2

 اجرا شود یا به شکل 3 + (4 * 2)

 . اولویت عملگر به وسیله تخصیص اولویت اجرا به عملگرها به این سوالات پاسخ می‌دهد.

اولویت عملگرها در پایتون صرفا موضوعی آکادمیک و تئوری نیست. بلکه برای برنامه‌های کاربردی، بسیار حیاتی است. وجود اشتباه در درک اولویت عملگرها در پایتون می‌تواند منجر به بروز باگ‌ در کدها شود. این باگ‌ها معمولا خطایابی بسیار دشواری دارند. برعکس بعضی از زبان‌های برنامه‌نویسی دیگر، پایتون مجموعه منحصر به‌فردی از قوانین مخصوص به خود را دارد. در مبحث الگوریتم‌های «یادگیری ماشین» (Machine Learning)، درک اشتباه از اولویت عملگرها می‌تواند سبب محاسبات غلط شود و در نهایت بر دقت و کارایی مدل تاثیر می‌گذارد.

مجموعه غنی عملگرهای پایتون شامل عملگرهایی مانند موارد لیست شده در زیر است.

  • عملگرهای ریاضی مانند +

     ,

     , *

     , /

     و غیره

  • عملگرهای مقایسه‌ای مانند ==

     , !=

     , >

     , <

  • عملگرهای منطقی مانند and

     و or

     و not

     و غیره

و چندین مورد عملگرد دیگر که در ادامه به همه آن‌ها رسیدگی می‌کنیم.

تصویر ساده ای از دفتر کار که در آن روی یک میز، صفحه بزرگی قرار دارد و کدهای پایتون نشان داده شده است.

هر دسته‌بندی از عملگرها سطح اولویت مخصوص به خود را دارد که به‌صورت درونی برای مفسر پایتون کدنویسی شده‌اند. زمانی که درحال انتقال کدها از زبان برنامه‌نویسی دیگری به زبان پایتون هستید، توجه به اولویت عملگرها در پایتون بسیار ضروری است. هر زبان برنامه‌نویسی مجموعه قوانین منحصر به‌فرد خود را برای اولویت عملگرها دارد و هر قانونی که شاید در یک زبان خاص وجود داشته باشد لازم نیست که حتما در زبان پایتون هم برقرار باشد. تسلط به قوانین اولویت عملگرها در پایتون نه تنها ما را به برنامه‌نویس بهتری تبدیل خواهد کرد بلکه در مورد خواندن و خطایابی موثرتر کدهایی که دیگران نوشته‌اند هم کمک می‌کند.

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

درک اولویت عملگرها در پایتون یکی از اصول زیربنایی برای نوشتن کدهای تمیز و موثر است. قبل از اینکه به‌صورت دقیق‌تر به قوانین و دستورالعمل‌های مربوط به این مبحث بپردازیم، لازم است که خود را با سلسله مراتب عملگرهای پایتون از طریق جدول اولیت آشنا کنیم. برای هرکسی که می‌خواهد روش کار اولویت عملگرها در پایتون را درک کند آشنایی با جدول پایین ضروری است.

انواع دسته‌بندی عملگرها عملگر
عملگرهای ریاضی **

 , *

, /

, +

,

عملگرهای مقایسه‌ای ==

، !=

 ، >=

 ، <=

 ، >

، <

عملگرهای منطقی not

, and

, or

عملگرهای بیتی &

 , |

 , ^

عملگرهای تخصیص =

 , +=

 , -=

ردیف‌های جدولی که در بالا دیده می‌شوند مربوط به 5 نوع از عملگرهای پایتون هستند. این عملگرها را در فهرست زیر توضیح داده‌ایم.

  • عملگرهای ریاضی: ترتیب اولویت این عملگرهای از بیشترین به کمترین به‌صورت زیر است.
    • عملگر **

      برای توان دارای بالاترین اولویت

    • عملگر *

      برای ضرب

    • عملگر /

      برای تقسیم

    • عملگر +

      برای جمع

    • عملگر

      برای تفریق با پایین‌ترین اولویت

  • عملگرهای مقایسه‌ای: این عملگرها برای مقایسه دو عملوند دو طرف خود استفاده می‌شوند.
    • عملگر ==

      برای مقایسه برابر بودن با اولویت اول

    • عملگر !=

      برای مقایسه نابرابر بودن با اولویت اول

    • عملگر <=

      به معنی کوچکتر مساوی با اولویت دوم

    • عملگر >=

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

    • عملگر >

      به معنی کوچکتر با اولویت دوم

    • عملگر <

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

      • توجه کنید هر چهار عملگر بزرگتر، کوچکتر، بزرگترمساوی و کوچکترمساوی دارای اولویت برابر هستند.
  • عملگرهای منطقی: از این عملگرها برای محاسبات منطقی استفاده می‌شود.
    • عملگر not

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

    • عملگر and

      دارای اولویت دوم است.

    • عملگر or

      پایین‌ترین اولویت را بین عملگرهای منطقی دارد.

  • عملگرهای بیتی: این عملگرها برای محاسبات به‌صورت بیت به بیت استفاده می‌شوند. ترتیب اولویت عملگرهای بیتی از بیشترین به کمترین در ادامه فهرست شده است.
    • عملگر AND با نماد &

       دارای بالاترین اولویت است.

    • عملگر OR با نماد |

       اولویت دوم را دارد.

    • عملگر XOR با نماد ^

       پایین‌ترین اولویت را دارد.

  • عملگرهای تخصیص: عملگر تخصیص =

    برای اختصاص دادن مقادیر استفاده می‌شود، در حالی که +=

     و -=

    «عملگرهای تخصیص مرکب» (Compound Assignment Operators) هستند. این عملگرها عملیاتی را به همراه عمل تخصیص به‌صورت همزمان انجام می‌دهند.

اولویت عملگرها در پایتون به‌صورت دل‌خواه تنظیم نشده‌اند. این اولویت‌ها طراحی شده‌اند که میزان ابهام را در عبارات محاسباتی به حداقل ممکن برسانند و مسیر شفافی را برای اجرای عملیات در مقابل سیستم قرار دهند. این علت‌ها برای طراحی اولویت‌ در سناریوهای پیچیده برنامه‌نویسی بسیار حیاتی هستند.

نماد پایتون به همراه یک لپتاپ باز و دو فنجان چایی بر روی یک میز قرار دارند

قانون اولویت عملگرها در پایتون | PEMDAS

نام قانون اولویت عملگرهای پایتون PEMDAS از سرنام واژه‌های «پرانتزها» (Parentheses)، «توان‌» (Exponent)، «ضرب» (Multiplication)، «تقسیم» (Division)، «جمع بستن» (Addition) و «عمل تفریق» (Subtraction) گرفته شده است. این کلمه راهنما به عنوان کلیدواژه‌ای کار می‌کند که با به‌خواطر سپردن آن می‌توانید اولویت اجرای عملگرهای پایتون را برای همیشه در ذهن داشته باشید. برای هر کسی که می‌خواهد کدهای بدون خطا در پایتون بنویسد، درک و حفظ قانون PEMDAS بسیار ضروری است. در جدول زیر هر کدام از اجزای تشکیل‌دهنده PEMDAS به همراه اولویتشان را می‌توانیم ببینیم.

اولویت نام مولفه  عملگرها
اول پرانتز ()

دوم توان **

سوم عملیات ضرب و تقسیم *

و /

چهارم عملیات جمع و تفریق +

و

درباره جدول بالا و این عملگرها در ادامه به‌صورت فهرست‌وار توضیحی ارائه کردیم تا با موارد مطرح شده در جدول به‌طور کامل آشنا شوید.

  • «پرانتزها» (Parentheses) ()

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

  • «توان‌» (Exponent) **

    : بعد از پرانتزها محاسبات مربوط به عملیات توان بالاترین اولویت را دارند.

  • عملیات «ضرب» (Multiplication) *

    و «تقسیم» (Division) /

    :  این عملگرها دارای اولویت اجرای یکسانی هستند و بعد از توان و پرانتز نوبت به اجرای عملیات ضرب و تقسیم می‌رسد. از آنجا که در هر عبارت محاسباتی محدودیتی در تعداد حضور این عملگرها وجود ندارد و دارای اولویت اجرای یکسان هستند، در یک عبارت، اجرا بین این عملگرها از چپ به راست به ترتیب بیشترین تا کمترین اولویت را شامل می‌شود.

  • عملیات «جمع بستن» (Addition) +

    و «تفریق» (Subtraction)

    این عملگرها آخرین اولویت را بین عملگرهای PEMDAS دارند. اولویت اجرای این دو دسته عملگر با هم به یک اندازه است. مانند عملگرهای ضرب و تقسیم اگر در هر عبارتی این عملگرها در کنار یک‌دیگر قرار بگیرند، به شرط نبودن پرانتز، اولویت اجرا بیشترین تا کمترین به ترتیب از چپ به راست داده می‌شود.

قانون PEMDAS در پایتون تضمین می‌کند که عبارت‌های محاسباتی با نظمی مشخص اجرا شوند. توجه به این قانون باعث می‌شود در کدهای نوشته شده خطاها به حداقل برسند و از اتفاقات غیرمنتظره پیش‌گیری شود. در زمان نوشتن عبارات محاسباتی پیچیده استفاده از قانون PEMDAS کمک می‌کند که ابهامات به حداقل برسند. بنابراین، برای هر برنامه‌نویس حرفه‌ای که قصد دارد مهارت‌های خود را در زبان پایتون ارتقا بدهد تسلط و توجه به قانون PEMDAS ضروری است. فرقی نمی‌کند که در زمینه «علم داده» (Data Science)، «توسعه وب» (Web Development) یا نوشتن برنامه‌های اتوماسیون اداری فعالیت کنیم، دانستن اولویت اجرای عملگرها یکی از مهم‌ترین مهارت‌هایی است که باید داشته باشیم.

با درک کلی درباره قواعد اولویت عملگرها در پایتون، می‌توانید منطق برنامه‌نویسی خود را به‌صورت نزدیکی با روش تفسیر عبارت‌های محاسباتی توسط پایتون تطبیق دهید. به این ترتیب احتمال ایجاد باگ در کدها و خطاهای منطقی برنامه‌تان را به اندازه زیادی کاهش می‌دهید.

قاعده شرکت پذیری | Associativity Rule

بعد از درونی‌سازی قانون PEMDAS و اولویت اجرای عملگرها در پایتون نوبت به بررسی موضوع بسیار ضروری بعدی یعنی «قاعده شرکت‌پذیری» (Associativity Rule) می‌رسد. این قاعده توضیح می‌دهد که وقتی عملگرهای درون عبارتی یکسان، اولویت برابر باهم دارند پایتون چگونه این عبارت‌ها را حل می‌کند. شرکت‌پذیری بخصوص زمانی بسیار حیاتی می‌شود که در عبارتی با چندین عملگر رو‌به‌رو شوید که از لحاظ اولویت‌بندی با هم در یک سطح باشند.

شرکت پذیری عملگرها

این قاعده جهتی را که این عملگرها باید اجرا شوند مشخص می‌کند. از راست به چپ یا از چپ به راست اجرا شدن عملگرها با نظر قاعده شرکت‌پذیری تعیین می‌شود.

نوع شرکت‌پذیری عملگرها
عملگرهای «شرکت‌پذیر از سمت چپ» (Left-Associative) +

,

, *

, /

عملگرهای «شرکت‌پذیر از سمت راست» (Right-Associative) **

, =

درباره جدول بالا و قوانین شرکت‌پذیری در ادامه به‌صورت فهرست‌وار برای هر دو گروه از عملگرها توضیحی نوشته‌ایم.

  • عملگرهای شرکت‌پذیر از سمت چپ: این عملگرها شامل جمع +

    ، تفریق

    ، ضرب *

    و تقسیم /

    می‌شوند. در عبارت محاسباتی که شامل این عملگرها شود، مفسر پایتون از چپ به راست به ارزیابی عبارت می‌پردازد. به عنوان مثال، در عبارت 3 + 4 – 2

     پایتون در ابتدا 4+3 را محاسبه می‌کند که برابر با 7 می‌شود و سپس عمل منها کردن را با عدد 2 انجام می‌دهد که نتیجه‌ای برابر با عدد 5 می‌دهد.

  • عملگرهای شرکت‌پذیر از سمت راست: این دسته از علمگرها نیز شامل عملگر توان **

    و تخصیص یا همان مساوی =

    می‌شوند. وقتی که از این عملگرها در کنار هم استفاده کنیم پایتون از راست به چپ عبارت را ارزیابی می‌کند. برای مثال، در عبارت 3 ** 2 ** 1

     مفسر پایتون اول از همه عبارت 2**1

     را محاسبه می‌کند که عدد 2 را بدست می آورد و بعد از آن 3**2

     را محاسبه می‌کند و جواب نهایی برابر با عدد 9 می‌شود.

اهمیت شرکت پذیری

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

می‌توان قاعده شرکت‌پذیری را مکملی برای قوانین مربوط به اولویت عملگرها در پایتون دانست. مسلط شدن به قوانین مربوط به هر دو مطلب شرکت‌‌پذیری و اولویت عملگرها در پایتون کمک می‌کند که کدها و عبارت‌هایی بنویسید که نه تنها از لحاظ سینتکس صحیح هستند بلکه از لحاظ منطقی هم کامل و بدون خطا هستند.

مراعات کردن این قوانین تضمین می‌کنند که کدهای شما دقیقا طبق انتظار عمل کنند. مخصوصا وقتی که با عملیات ریاضی و منطقی پیچیده‌ای کار می‌کنید رفتار صحیح کدها حیاتی است. پس دفعه بعد که با عبارت پیچیده‌ای روبه‌رو شدید دقیقا می‌دانید که پایتون این عبارت را چگونه تفسیر خواهد کرد و دانستن این مطلب، خطایابی و برطرف کردن مشکلات کد را به‌صورت قابل ملاحظه‌ای آسانتر می‌کند.

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

چند مثال برای آشنایی با عملگرها

در ادامه برای هر کدام از انواع عملگرها به‌صورت جداگانه مثالی پیاده‌سازی کرده‌ایم.

عملگرهای مقایسه‌ ای

در کد پایین برای عملگرهای مقایسه‌ای که در این مطلب در جدول بالا نمایش داده‌ایم. چند مثال‌ پیاده‌سازی کردیم تا روش کار هر عملگر را ببینید.

1x = 5
2y = 10
3# Equality
4result1 = x == y  # False
5# Inequality
6result2 = x != y  # True
7# Less than
8result3 = x < y   # True
9# Greater than or equal to
10result4 = x >= y  # False

عملگرهای منطقی

نمونه‌ای از رفتار همه عملگرهای منطقی را که در این مطلب در جدول بالا توضیح داده‌ایم در مثال پیاده‌سازی شده پایین آورده‌ایم.

1x = True
2y = False
3# Logical AND
4result1 = x and y  # False
5# Logical OR
6result2 = x or y   # True
7# Logical NOT
8result3 = not x    # False

عملگرهای ریاضی

نمونه‌ای از رفتار همه عملگرهای ریاضی را که در جدول بالای این مطلب توضیح داده‌ایم در مثال پیاده‌سازی شده پایین کدنویسی کرده‌ایم.

1a = 10
2b = 3
3# Addition
4addition_result = a + b  # 13
5# Subtraction
6subtraction_result = a - b  # 7
7# Multiplication
8multiplication_result = a * b  # 30
9# Division
10division_result = a / b  # 3.3333333333333335
11# Modulus
12modulus_result = a % b  # 1
13# Exponentiation
14exponentiation_result = a ** b  # 1000
15# Floor Division
16floor_division_result = a // b  # 3

عملگرهای بیتی

برای رفتار هر کدام از عملگرهای بیتی جدول ابتدای مطلب، در کد پیاده‌سازی شده پایین یک مثال نمایش داده‌ایم.

1x = 5  # 0b101 (binary representation)
2y = 3  # 0b011 (binary representation)
3# Bitwise AND
4bitwise_and_result = x & y  # 1 (binary: 0b001)
5# Bitwise OR
6bitwise_or_result = x | y  # 7 (binary: 0b111)
7# Bitwise XOR
8bitwise_xor_result = x ^ y  # 6 (binary: 0b110)
9# Bitwise NOT (inverts all bits)
10bitwise_not_result = ~x  # -6 (binary: 0b11111111111111111111111111111010)
11# Left Shift
12left_shift_result = x << 2  # 20 (binary: 0b10100)
13# Right Shift
14right_shift_result = x >> 1  # 2 (binary: 0b10)

عملگرهای تخصیص

مثالی از عملکرد عملگرهای تخصیص را که در اولین جدول این مطلب مورد اشاره قرار داده‌ایم را در مثال پیاده‌سازی شده پایین آورده‌ایم.

1x = 10
2# Addition Assignment
3x += 5  # Equivalent to x = x + 5, x is now 15
4# Subtraction Assignment
5x -= 3  # Equivalent to x = x - 3, x is now 12
6# Multiplication Assignment
7x *= 2  # Equivalent to x = x * 2, x is now 24
8# Division Assignment
9x /= 4  # Equivalent to x = x / 4, x is now 6.0
10# Modulus Assignment
11x %= 5  # Equivalent to x = x % 5, x is now 1.0
12# Exponentiation Assignment
13x **= 3  # Equivalent to x = x ** 3, x is now 1.0
14# Floor Division Assignment
15x //= 2  # Equivalent to x = x // 2, x is now 0.0

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

عملگرها در پایتون سطوح اولویت متفاوتی دارند. وقتی که عملگرهای پایتون در عبارات پیچیده مورد ارزیابی قرار می‌گیرند این اولویت‌ها هستند که ترتیب اجرای عملگرها را تعیین می‌کنند. به عنوان مثال، اولویت کلی برای عملگرهای منطقی از بالاترین اولویت تا پایین‌ترین اولویت به‌صورت زیر است.

  1. not
  2. and
  3. or

برای تغییر اولویت‌‌ها می‌توانید از پرانتز استفاده کنید. برای این نمونه در زیر مثالی را کدنویسی کرده‌ایم.

1x = True
2y = False
3z = True
4result = x or y and not z  # Equivalent to: x or (y and (not z))

در مثال بالا عملگر not

بیشترین اولویت را دارد بعد از آن اولویت اجرای and

بالاتر است و در آخر اولویت عملگر or

قرار دارد. بنابراین در ابتدا عبارت y and not z

 بررسی شده است و بعد از آن نتیجه با استفاده از عملگر or

با x مقایسه شده است.

استفاده از پرانتزها به برنامه‌نویسان کمک می‌کند که به‌طور صریح اولویت اجرای عملگرها را مشخص کنند و در نتیجه برنامه‌نویسان می‌توانند اولویت اجرای عملگرها را مطابق نیازشان نگهدارند. به‌خصوص در عبارت‌های پیچیده برای تضمین رفتار مورد انتظار، استفاده از پرانتزها بسیار کمک کننده است.

در ادامه مثالی درباره استفاده از پرانتزها را پیاده‌سازی کرده‌ایم.

1x = True
2y = False
3z = True
4result1 = (x or y) and not z  # Equivalent to: (x or y) and (not z)
5result2 = x or (y and not z)  # Equivalent to: x or (y and (not z))

در این مثال از پرانتزها برای توضیح دادن ترتیب ارزیابی عملگرها منطقی استفاده شده است تا مطمئن شویم که اولویت اجرا همان‌طور که انتظار داریم حفظ خواهد شد.

سوالات متداول

در انتهای این مطلب از مجله فرادرس، به سوالات متداول پیرامون موضوع اولویت عملگرها در پایتون پاسخ داده‌ایم.

اولویت اجرای عملگرها در پایتون چیست؟

اولویت عملگرها در پایتون ترتیبی را نشان ‌می‌دهد که عملگرهای هر عبارت باید طبق آن در پایتون ارزیابی شوند. زمانی که در عبارتی چندین عملگر متفاوت استفاده شده باشند، این قاعده ترتیب اجرای عملگرها را تعیین می‌کند.

قوانین مربوط به اولویت عملگرها در پایتون چگونه تعیین شده اند؟

قوانین مربوط به اولویت عملگرها در پایتون توسط دستورالعمل‌های زبان برنامه‌نویسی پایتون تعیین می‌شوند که در واقع ترتیب اجرای هر عملگر را در عبارت محاسباتی تعیین می‌کند. عملگرهایی که اولویت بالاتری دارند در عبارت‌ها قبل از عملگرهای دیگر باید اجرا شوند.

آیا می توان اولویت عملگرها را در پایتون بازنویسی کرد؟

بله اولیت عملگرها در پایتون با استفاده از پرانتزها قابل بازنویسی‌اند. برنامه‌نویسان با دسته‌بندی عبارت‌ها در پرانتزها می‌توانند ترتیب اجرای عملگرها را کنترل کنند. در واقع برنامه‌نویسان با بکاربردن پرانتزها می‌توانند قوانین پیش‌فرض برای اولویت عملگرها را مطابق خواست خودشان دستکاری کنند.

اولویت عملگرها چگونه می‌توانند بر روی خروجی عبارت ها در پایتون تاثیر بگذارند؟

اولویت عملگرها با مشخص کردن ترتیب ارزیابی عملگرها در هر عبارت بر روی خروجی آن عبارت تاثیر می‌گذارند. عبارت‌هایی که از چندین عملگر مختلف با اولویت‌های مختلفی درون خود استفاده ‌می‌کنند در‌صورت عدم کنترل مناسب بر روی اولویت عملگرها می‌توانند باعث بروز خطاهای غیرمنتظره‌ای شوند که به سختی می‌توان تشخیص داد.

چند مورد از کاربردهای رایج قوانین مربوط به اولویت عملگرها در پایتون را نام ببرید؟

به عنوان موارد کاربردی رایج برای استتفاده از قوانین اولویت عملگرها در پایتون می‌توان به موارد زیر اشاره کرد.

  • محاسبات ریاضی
  • جریان کنترل اطلاعات
  • کار بر روی رشته‌ها
  • عملیات بیتی
  • برنامه‌نویسی شی‌گرایانه
  • و غیره

برنامه‌نویسان با کمک درک و استفاده از این قوانین به‌طور موثر، می‌توانند کدهای کارآمدتر و بهتری بنویسند.

یک معلم سالمند درحال توضیح مطلبی به پسر جوان است - اولویت عملگرها در پایتون

جمع بندی

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

در این مطلب از اولویت عملگرهای پایتون صحبت کردیم و قانون PEMDAS را با تمام جزییات مورد بررسی قرار دادیم. سپس به تشریح قانون شرکت‌پذیری پرداختیم که مکمل قوانین مربوط به اولویت عملگرها در پایتون است. برای معرفی و نمایش هر کدام از عملگرهای مهم و پرکاربرد مثال‌هایی با استفاده از کد آوردیم و درنهایت به چند سوال پر تکرار در این زمینه پاسخ دادیم.

source

توسط expressjs.ir