منطق بولین
منطق بولین برای ساخت شرطهای پیچیدهتر با استفاده از if به کار میرود، زمانی که بیش از یک شرط باید بررسی شود. در پایتون، عملگرهای بولین شامل and، or و not هستند. عملگر and زمانی مقدار True را بازمیگرداند که هر دو شرط صحیح باشند، در غیر این صورت مقدار False برمیگرداند.
>>> 1 == 1 and 2 == 2
True
>>> 1 == 1 and 2 == 3
False
>>> 1 != 1 and 2 == 2
False
>>> 2 < 1 and 3 > 6
False
عملگر or زمانی مقدار True را بازمیگرداند که حداقل یکی از شرطها صحیح باشد. تنها در صورتی که هر دو شرط ناصحیح باشند، مقدار False برمیگرداند.
>>> 1 == 1 or 2 == 2
True
>>> 1 == 1 or 2 == 3
True
>>> 1 != 1 or 2 == 2
True
>>> 2 < 1 or 3 > 6
False
عملگر not برخلاف دو عملگر قبلی تنها یک شرط را بررسی میکند و نتیجه آن را معکوس مینماید. یعنی اگر شرط درست باشد، False و اگر نادرست باشد، True برمیگرداند.
>>> not 1 == 1
False
>>> not 1 > 7
True
اولویت عملگرها
اولویت عملگرها در تمام زبانهای برنامهنویسی اهمیت دارد. این مفهوم از ریاضیات گرفته شده و تعیین میکند که کدام عملگر پیش از بقیه اجرا میشود. قطعه کد زیر نحوه اولویت عملگر == را نسبت به سایر عملگرها نشان میدهد:
>>> False == False or True
True
>>> False == (False or True)
False
>>> (False == False) or True
True
جدول اولویتها
لیست زیر اولویت عملگرهای پایتون را از بالاترین به پایینترین سطح نمایش میدهد:
| توضیحات | عملگر |
|---|---|
| توان | ** |
| علامت مثبت، منفی و متمم | ~ + - |
| ضرب، تقسیم، باقیمانده و تقسیم صحیح | * / % // |
| جمع و تفریق | + - |
| شیفت به چپ و راست | >> << |
| AND بیتی | & |
| OR و XOR بیتی | ^ | |
| مقایسه | <= < > >= |
| برابری و نابرابری | == != |
| عملگرهای انتساب | = %= /= //= -= += *= **= |
| عملگرهای هویت | is, is not |
| عملگرهای عضویت | in, not in |
| عملگرهای منطقی | not, and, or |