
عملگر های پایتون – Python Operators #
عملگرها برای انجام عملیات روی متغیر ها و مقادیر استفاده میشن.
تو مثال زیر از عملگر “+” برای جمع کردن دو مقدار استفاده میکنیم:
print(10 + 5)
جواب مثال بالا میشه عدد 10.
عملگرها تو پایتون به گروه های زیر تقسیم میشن:
- عملگرهای محاسباتی – Arithmetic Operators
- عملگرهای واگذاری یا تخصیص – Assignment Operators
- عملگرهای مقایسه ای – Comparison Operators
- عملگرهای منطقی – Logical Operators
- عملگرهای هویتی – Identity Operators
- عملگرهای عضویتی – Membership Operators
- عملگرهای بیتی – Bitwise Operators
عملگرهای محاسباتی پایتون – Arithmetic Operators #
عملگرهای محاسباتی با مقادیر عددی برای انجام عملیات ریاضی رایج استفاده میشن:
x = 5 , y = 3
| خروجی | مثال | نام | عملگرها |
| 8 | x + y | جمع | + |
| 2 | x – y | تفریق | – |
| 15 | x * y | ضرب | * |
| 1.66 | x / y | تقسیم | / |
| 1 | x % y | حاصل باقیمانده تقسیم | % |
| 125 | x ** y | توان | ** |
| 2 | x // y | حاصل گرد شده تقسیم به نزدیک ترین عدد | // |
در مثال آخر جواب تقسیم 5 بر 3 میشه 1.66 ولی چون عدد به 2 نزدیک تر از 1 هستش پس خروجی ما 2 میشه.
عملگرهای تخصیص پایتون – Assignment Operators #
عملگرهای انتساب برای تخصیص مقادیر به متغیر ها استفاده میشن:
| همانند | مثال | عملگرها |
| x = 5 | x = 5 | = |
| x = x + 3 | x =+ 3 | =+ |
| x = x – 3 | x =- 3 | =- |
| x = x * 3 | x =* 3 | =* |
| x = x / 3 | x =/ 3 | =/ |
| x = x % 3 | x =% 3 | =% |
| x = x // 3 | x =// 3 | =// |
| x = x ** 3 | x =** 3 | =** |
| x = x & 3 | x =& 3 | =& |
| x = x | 3 | x =| 3 | =| |
| x = x ^ 3 | x =^ 3 | =^ |
| x = x >> 3 | x =>> 3 | =<< |
| x = x << 3 | x =<< 3 | =>> |
| x = 3 print(x) | print(x :=3) | =: |
عملگرهای مقایسه ای پایتون – Comparison Operators #
این عملگرها برای مقلیسه بین دو مقدار استفاده میشن:
| مثال | نام | عملگر |
| x == y | برابر | == |
| x != y | نابرار | =! |
| x > y | بزرگتر | < |
| x < y | کوچکتر | > |
| x >= y | بزرگتر یا مساوی | =< |
| x <= y | کوچکتر یا مساوی | => |
خروجی این عملگر ها به صورت بولین یعنی همون true یا false هستن که میگن این مقایسه درست هستش یا غلط.
عملگرهای منطقی پایتون – Logical Operators #
عملگرهای منطقی برای ترکیب عبارات شرطی استفاده میشن:
| مثال | توضیحات | عملگر |
x < 5 and x < 10 | اگر هردو عبارت درست(true) باشن true برمیگردونه | and |
| x < 5 or x < 4 | اگر یکی از عبارات درست(true)باشن true برمیگردونه | or |
| not(x < 5 and x < 10) | نتیجه هرچی که باشه برعکس میکنه. عبارت true باشه false میکنه و بالعکس | not |
عملگرهای هویتی پایتون – Identity Operators #
این عملگر ها برای مقایسه اشیا استفاده میشن، نه اینکه برابر باشن، بلکه اگر در واقع یک شی با مکان حافظه یکسان باشن:
| مثال | توضیحات | عملگر |
| x is y | اگر هردو متغیر یک شی باشن true برمیگردونه | is |
| x is not y | اگر هردو متغیر یک شی نباشن true برمیگردونه | is not |
عملگرهای عضویتی پایتون – Membership Operators #
| مثال | توضیحات | عملگر |
| x in y | اگر دنباله ای با مقدار مشخص شده تو شی وجود داشته باشه true برمیگردونه | in |
| x not in y | اگر دنباله ای با مقدار مشخص شده تو شی وجود نداشته باشه true برمیگردونه | not in |
عملگرهای بیتی پایتون – Bitwise Operators #
عملگرهای بیتی برای مقایسه اعداد باینری یا همون دودویی استفاده میشن:
| مثال | توضیحات | نام | عملگر |
| x & y | اگه هر دو بیت 1 باشن اون بیت رو 1 برمیگردونه | AND | & |
| x | y | اگه یکی از بیت ها 1 باشه بیت رو 1 برمیگردونه | OR | | |
| x ^ y | اگه فقط یکی از بیت ها 1 باشه بیت رو 1 برمیگردونه | XOR | ^ |
| ~x | همه بیت ها رو معکوس میکنه | NOT | ~ |
| x << 2 | شیف به چپ میکنه یعنی به ازای هر شیفت یکبار عدد رو به 2 ضرب میکنه | Zero fill left shift | >> |
| x >> 2 | شیف به راست میکنه یعنی به ازای هر شیفت یکبار عدد رو به 2 تقسیم میکنه میکنه | Signed right shift | << |
مثال برای & :
print(6 & 3)
جواب کد بالا میشه 2 چون توی عدد باینری
110 = 6
011 = 3
توی بیت دومی یا همون وسطی هر دو 1 هستن پس فقط وسطی رو 1 برمیگردونه و جواب میشه 010
110
011
____
010
010 هم باینریه عدد 2 توی مبنای ده هستش پس جواب بالا به دست میاد.
مثال برای << و >> :
بخوام ساده تر بگم اینجا << میاد عدد رو به ازای هر یکبار شیفت تقسیم 2 میکنه:
مثلا 2<<5 میاد 5 رو 2 بار بر 2 تقسیم میکنه.
و >> هم میاد عد رو به ازای هر یکبار شیفت ضرب به 2 میکنه:
مثلا 2>>5 میاد پنج رو 2 بار ضرب به 2 میکنه. همین…
اولیویت عملگرها #
اولویت عملگر ترتیب انجام عملیات رو توصیف میکنه.
پرانتز ها بالاترین اولویت رو دارن، به این معنی که عبارات داخل پرانتز اول از همه باید ارزیابی بشن:
print((6 + 3) - (6 + 3))
اینجا خروجی میشه 0 چون اول پرانتز داخلی هارو محاسبه میکنه بعد میره سراغ پرانتز بیرونی ها در حالی که اگر پرانتزی استفاده نمیشد تو کد بالا جواب میشد 6.
ضرب یا هون * هم اولویت بیشتری نسبت به جمع یا + داره، پس ضرب قبل از جمع ارزیابی و محاسبه میشه:
print(100 + 5 * 3)
تو این مثال جواب میشه 115 چون اول میاد 5 رو در 3 ضرب میکنه و بعدش با 100 جمع میکنه.
ترتیب کامل اولویت هارو تو جدول پایین توضیح دادیم که با بالاترین اولویت شروع شدن و به ترتیب به سمت اولیت های پایین تر میرن:
| توضیحات | عملگر |
| پرانتزها | () |
| توان | ** |
| جمع و تفریق یگانی و not بیتی | x -x ~x+ |
| ضرب و تقسیم و تقسیم بدون اعشاری و باقیمانده | * , / , // , % |
| جمع و تفریق | + , – |
| شیفت چپ و راست بیتی | >> , << |
| AND بیتی | & |
| XOR بیتی | ^ |
| OR بیتی | | |
| مقایسه ای و هویتی و عضویتی | == , =! , > , => , < , =< , is , is not , in , not in |
| NOT منطقی | not |
| AND | and |
| OR | or |
اگر دو عملگر دارای اولویت یکسان باشن عبارت از چپ به راست محاسبه و ارزیابی میشه.( از چپ شروع میکنیم میریم به راست )
تو مثال پایین جمع و تفریق اولویت یکسان دارن، بنابراین عبارت رو از چپ به راست ارزیابی میکنیم:
print(5 + 4 - 7 + 3)
با توجه به توضیحی که دادم پس خروجی کد بالا میشه عدد 5.
اینم از عملگرهای پایتون تو ادامه مطلب آموزشی میخوایم راجب لیست ها در پایتون صحبت کنیم.