آموزش پایتون - عملگرها
عملگرهای پایتون، ساختارهایی هستند که میتوانند مقدار عملوندها (operands) را تغییر دهند. این علائم برای انجام عملیات منطقی، حسابی و سایر عملیاتهای مختلف استفاده میشوند.
توجه کنید که در عبارت 9=5+4، اعداد 4 و 5 عملوند (operand) نامیده میشوند و + عملگر نامیده میشود.
در این آموزش، انواع مختلفی از عملگرهای پایتون را خواهیم آموخت.
انواع عملگرهای پایتون
زبان پایتون از انواع عملگرهای زیر پشتیبانی میکند:
- عملگرهای حسابی (Arithmetic Operators)
- عملگرهای مقایسه (رابطهای) (Comparison (Relational) Operators)
- عملگرهای اختصاص (Assignment Operators)
- عملگرهای منطقی (Logical Operators)
- عملگرهای بیتی (Bitwise Operators)
- عملگرهای عضویت (Membership Operators)
- عملگرهای هویت (Identity Operators)
بیایید به هر یک از این عملگرها نگاهی بیندازیم.
عملگرهای حسابی پایتون
عملگرهای حسابی پایتون برای انجام عملیاتهای ریاضی روی مقادیر عددی استفاده میشوند. این عملیات شامل جمع، تفریق، ضرب، تقسیم، باقیمانده، توان و تقسیم صحیح ، می باشد.
عملگر | نام | مثال |
---|---|---|
+ | جمع | 30=10+20 |
- | تفریق | 10=20-10 |
* | ضرب | 200=10*20 |
/ | تقسیم | 2=20/10 |
% | باقیمانده | 2=22%10 |
** | توان | 16=2**4 |
// | تقسیم صحیح | 4=2//9 |
مثال
در زیر نمونه کدی از همه عملیات فوق را مشاهده می کنید:
a = 21
b = 10
# Addition
print ("a + b : ", a + b)
# Subtraction
print ("a - b : ", a - b)
# Multiplication
print ("a * b : ", a * b)
# Division
print ("a / b : ", a / b)
# Modulus
print ("a % b : ", a % b)
# Exponent
print ("a ** b : ", a ** b)
# Floor Division
print ("a // b : ", a // b)
از کد بالا نتیجه زیر حاصل می شود:
a + b : 31
a - b : 11
a * b : 210
a / b : 2.1
a % b : 1
a ** b : 16679880978201
a // b : 2
عملگرهای مقایسه در پایتون (Python Comparison Operators)
عملگرهای مقایسه در پایتون، مقادیر دو طرف خود را مقایسه می کنند و رابطه بین آنها را تعیین میکنند. عکلگرهای مقایسه ای همچنین به عنوان عملگرهای رابطهای نیز شناخته میشوند. این عملگرها شامل برابری، نابرابری، بزرگتر از، کوچکتر از، بزرگتر مساوی و کوچکتر مساوی هستند.
عملگر | نام | مثال |
---|---|---|
== | برابری | 4 == 5 مقایسه |
!= | نابرابری | 4 != 5 مقایسه |
> | بزرگتر از | 4 > 5 مقایسه |
< | کوچکتر از | 4 < 5 مقایسه |
>= | بزرگتر مساوی | 4 >= 5 مقایسه |
<= | کوچکتر مساوی | 4 <= 5 مقایسه |
مثال
در ادامه، یک مثال نشان داده شده است که همهٔ عملیات مقایسه فوق را نمایش میدهد:
a = 4
b = 5
# Equal
print ("a == b : ", a == b)
# Not Equal
print ("a != b : ", a != b)
# Greater Than
print ("a > b : ", a > b)
# Less Than
print ("a < b : ", a < b)
# Greater Than or Equal to
print ("a >= b : ", a >= b)
# Less Than or Equal to
print ("a <= b : ", a <= b)
در صورت صحیح بودن مقایسه True و در صورت نادرستی نتیجه مقایسه False می باشد
a == b : False
a != b : True
a > b : False
a < b : True
a >= b : False
a <= b : True
عملگرهای اختصاص در پایتون (Python Assignment Operators)
عملگرهای اختصاص در پایتون برای اختصاص مقادیر به متغیرها استفاده میشوند. این عملگرها شامل عملگر اختصاص ساده، اختصاص با جمع، اختصاص با تفریق، اختصاص با ضرب، اختصاص با تقسیم و سایر عملگرهای اختصاصی میباشند.
عملگر | نام | مثال |
---|---|---|
= | عملگر اختصاص | a = 10 |
+= | اختصاص با جمع | a += 5 (معادل a = a + 5) |
-= | اختصاص با تفریق | a -= 5 (معادل a = a - 5) |
*= | اختصاص با ضرب | a *= 5 (معادل a = a * 5) |
/= | اختصاص با تقسیم | a /= 5 (معادل a = a / 5) |
%= | اختصاص با باقیمانده | a %= 5 (معادل a = a % 5) |
**= | اختصاص با توان | a **= 2 (معادل a = a ** 2) |
//= | اختصاص با تقسیم صحیح | a //= 3 (معادل a = a // 3) |
مثال
در ادامه، یک مثال نشان داده شده است که همهٔ عملیات اختصاص فوق را نمایش میدهد:
# Assignment Operator
a = 10
# Addition Assignment
a += 5
print ("a += 5 : ", a)
# Subtraction Assignment
a -= 5
print ("a -= 5 : ", a)
# Multiplication Assignment
a *= 5
print ("a *= 5 : ", a)
# Division Assignment
a /= 5
print ("a /= 5 : ",a)
# Remainder Assignment
a %= 3
print ("a %= 3 : ", a)
# Exponent Assignment
a **= 2
print ("a **= 2 : ", a)
# Floor Division Assignment
a //= 3
print ("a //= 3 : ", a)
این نتیجه زیر را ایجاد می کند -
a += 5 : 105
a -= 5 : 100
a *= 5 : 500
a /= 5 : 100.0
a %= 3 : 1.0
a **= 2 : 1.0
a //= 3 : 0.0
عملگرهای بیتی در پایتون (Python Bitwise Operators)
عملگرهای بیتی بر روی بیتها عمل میکنند و عملیات بیت به بیت را انجام میدهند. فرض کنید a = 60 و b = 13 باشد. حالا در فرمت دودویی مقادیر آنها به ترتیب 0011 1100 و 0000 1101 خواهند بود. جدول زیر عملگرهای بیتی پشتیبانی شده توسط زبان پایتون را با یک مثال برای هر کدام نشان میدهد. در این مثال از دو متغیر (a و b) فوق به عنوان عملوندها استفاده میشود:
a = 0011 1100
b = 0000 1101
--------------------------
a&b = 12 (0000 1100)
a|b = 61 (0011 1101)
a^b = 49 (0011 0001)
~a = -61 (1100 0011)
a << 2 = 240 (1111 0000)
a>>2 = 15 (0000 1111)
در زبان پایتون عملگرهای بیتی زیر پشتیبانی میشوند:
عملگر | نام | مثال |
---|---|---|
& | AND باینری | اگر هر دو بیت 1 باشد، هر بیت را به 1 تنظیم میکند |
| | OR باینری | اگر حداقل یکی از دو بیت 1 باشد، هر بیت را به 1 تنظیم میکند |
^ | XOR باینری | اگر تنها یکی از دو بیت 1 باشد، هر بیت را به 1 تنظیم میکند |
~ | تکمیل یک باینری | تمامی بیتها را معکوس میکند |
<< | شیفت به چپ باینری | با پر کردن صفرها از راست و رها کردن بیتهای سمت چپ، به چپ شیفت میدهد |
>> | شیفت به راست باینری | با تکرار بیت سمت چپ از سمت چپ و رها کردن بیتهای سمت راست، به راست شیفت میدهد |
مثال
ئر مثال زیر عملیات بیتی فوق را بررسی می کنیم:
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
# Binary AND
c = a & b # 12 = 0000 1100
print ("a & b : ", c)
# Binary OR
c = a | b # 61 = 0011 1101
print ("a | b : ", c)
# Binary XOR
c = a ^ b # 49 = 0011 0001
print ("a ^ b : ", c)
# Binary Ones Complement
c = ~a; # -61 = 1100 0011
print ("~a : ", c)
# Binary Left Shift
c = a << 2; # 240 = 1111 0000
print ("a << 2 : ", c)
# Binary Right Shift
c = a >> 2; # 15 = 0000 1111
print ("a >> 2 : ", c)
نتیجه حاصل از اجرای کد فوق به این شکل می باشد:
a & b : 12
a | b : 61
a ^ b : 49
~a : -61
a >> 2 : 240
a >> 2 : 15
عملگرهای منطقی در پایتون (Python Logical Operators)
در زبان پایتون، عملگرهای منطقی زیر پشتیبانی میشوند. فرض کنید متغیر a مقدار True را نگه دارد و متغیر b مقدار False را نگهدارد، آنگاه
عملگر | توضیح | مثال | |
---|---|---|---|
and | AND منطقی | اگر هر دو اپراند صحیح(True) باشند، نتیجه True می شود. | (a and b) نتیجه False. |
or | OR منطقی | اگر حتی یکی از علموندها True باشد ، نتیجه True می شود. | (a or b) نتیجه True. |
not | NOT منطقی | مقدار True را به False تبدیل می کند و بالعکس | Not(a and b) نتیجه True. |
عملگرهای عضویت در پایتون (Python Membership Operators)
عملگرهای عضویت در پایتون برای بررسی عضویت یک متغیر در یک دنباله مانند رشتهها، لیستها یا تاپلها استفاده میشوند. دو عملگر عضویت به شرح زیر است −
عملگر | توضیح | مثال | |
---|---|---|---|
in | وضعیت عضویت | اگر متغیر را در دنبالهٔ مشخص شده پیدا کند، به True و در غیر این صورت False است. | x in y، در اینجا نتیجهٔ in برابر True است اگر x عضوی از دنبالهٔ y باشد. |
not in |
وضعیت عدم عضویت |
اگر متغیر را در دنبالهٔ مشخص شده پیدا نکند، False و در غیر این صورت True است. | x not in y، در اینجا نتیجهٔ not in برابر True است اگر x عضوی از دنبالهٔ y نباشد. |
عملگرهای هویت در پایتون (Python Identity Operators)
عملگرهای هویت در پایتون مکانهای حافظهٔ دو شیء را مقایسه میکنند. دو عملگر هویت به شرح زیر است −
عملگر | توضیح | مثال | |
---|---|---|---|
is | برابری هویتی | اگر متغیرهای دو طرف عملگر به هم اشاره کنند، True و در غیر این صورت False است. | x is y، در اینجا عبارت is برابر ۱ است اگر id(x) برابر id(y) باشد. |
is not | برابری هویتی نبود | اگر متغیرهای دو طرف عملگر به هم اشاره نکنند، True و در غیر این صورت False است. | x is not y، در اینجا عبارت is not برابر ۱ است اگر id(x) برابر id(y) نباشد. |
اولویت عملگرها در پایتون
در جدول زیر، تمامی عملگرها به ترتیب اولویت اجرا فهرست شده اند
شماره | عملگر و توضیح |
---|---|
1 |
** توانگیری (توان) |
2 |
~ + - تکمیل، عدد مثبت و منفی (نامهای متد برای دو عدد آخر +@ و -@) |
3 |
* / % // ضرب، تقسیم، باقیمانده و تقسیم صحیح |
4 |
+ - جمع و تفریق |
5 |
>> << جابهجایی بیتی راست و چپ |
6 |
& بیتی AND |
7 |
^ | بیتی XOR و بیتی OR |
8 |
<= < > >= عملگرهای مقایسه |
9 |
<> == != عملگرهای برابری |
10 |
= %= /= //= -= += *= **= عملگرهای اختصاصی |
11 |
is is not عملگرهای هویت |
12 |
in not in عملگرهای عضویت |
13 |
not or and عملگرهای منطقی |