برای مثال ما در مثال زیر از عملگر جمع (+) برای جمع کردن دو مقدار با یکدیگر استفاده کرده ایم.
print(10 + 5)
در این مثال ما عدد 10 و 5 را با هم جمع کردیم و در خروجی مقدار 15 چاپ خواهد شد.
عملگرها در پایتون به چند دسته تقسیم می شوند:
- عملگرهای حسابی (َArithmetic Operators)
- عملگرهای تخصیص (Assignment Operators)
- عمگرهای مقایسه ای (Comparison Operators)
- عملگرهای منطقی (Logical Operators)
- عملگرهای همانی یا هویتی (Identity Operators)
- عملگرهای عضویت (Membership Operators)
- عملگرهای بیتی (Bitwise Operators)
در ادامه به بررسی هر کدام از این عملگرها خواهیم پرداخت.
عملگرهای حسابی (Arithmetic Operators)
از این نوع عملگرها برای انجام عملیات رایج ریاضی با اعداد استفاده می شود.
عملیاتی مانند : جمع، تفریق، ضرب، تقسیم و ...
جدول زیر نحوه عملکرد همه عملگرهای حسابی را شرح می دهد.
عملگر | نام عملگر | مثال |
---|---|---|
+ | جمع | x + y |
- | تفریق | x - y |
* | ضرب | x * y |
/ | تقسیم | x / y |
% | باقیمانده | x % y |
** | توان | x ** y |
// | خارج قسمت صحیح | x // y |
در زیر از هر کدام از عملگرهای حسابی مثالی برای شما آورده ایم
مثال عملگر حسابی جمع (+)
x = 5
y = 3
print(x + y)
در این مثال دو مقدار متغیر x و y با همدیگر جمع می شوند.
مثال عملگر حسابی تفریق (-)
x = 5
y = 3
print(x - y)
در این مثال مقدار متغیر y از متغیر x کم می شوند.
مثال عملگر حسابی ضرب (*)
x = 5
y = 3
print(x * y)
در این مثال دو مقدار متغیر x و y با همدیگر ضرب می شوند.
مثال عملگر حسابی تقسیم (/)
x = 12
y = 3
print(x / y)
در این مثال متغیر x تقسیم بر متغیر y می شود.
مثال عملگر حسابی باقیمانده (%)
x = 5
y = 2
print(x % y)
در این مثال باقیمانده تقسیم متغیر x در متغیر y به دست می آید.
مثال عملگر حسابی توان (**)
x = 2
y = 5
print(x ** y) #same as 2*2*2*2*2
در مثال بالا مثل این است که عدد 2 را 5 بار در خودش ضرب کنیم.
32=2*2*2*2*2
مثال عملگر حسابی خارج قسمت صحیح(//)
x = 15
y = 2
print(x // y)
#the floor division // rounds the result down to the nearest whole number
در مثال بالا خارج قسمت تقسیم 15 بر 2 را به پایین گرد می کند.
عملگرهای تخصیص (Assignment Operators)
از این عملگر برای اختصاص دادن مقادیر به متغیرها استفاده می شود.
جدول زیر نحوه عملکرد همه عملگرهای تخصیص را شرح می دهد.
عملگر | مثال | شبیه به |
---|---|---|
= | x = 5 | x = 5 |
=+ | 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 = x << 3 |
در زیر از هر کدام از عملگرهای تخصیص مثالی برای شما آورده ایم
عملگر (=)
x = 5
print(x)
در این مثال مقدار 5 به متغیر x اختصاص داده می شود.
عملگر (=+)
x = 5
x += 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 جمع می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=-)
x = 5
x -= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 تفریق می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=*)
x = 5
x *= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 ضرب می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=/)
x = 5
x /= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است بر عدد 3 تقسیم می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=%)
x = 5
x%=3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 تقسیم می شود و باقیمانده آن دوباره در متغیر x ریخته می شود.
عملگر (=//)
x = 5
x//=3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 تقسیم می شود و خارج قسمت آن رو به پایین گرد می شود و دوباره در متغیر x ریخته می شود.
عملگر (=**)
x = 5
x **= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است به توان عدد 3 می رسد و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=&)
x = 5
x &= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 And منطقی می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=|)
x = 5
x |= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 Or منطقی می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=^)
x = 5
x ^= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است با عدد 3 Xor منطقی می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=>>)
x = 5
x >>= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است به تعداد 3 بیت شیفت به راست می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عملگر (=<<)
x = 5
x <<= 3
print(x)
در این مثال متغیر x که با 5 مقداردهی شده است به تعداد 3 بیت شیفت به چپ می شود و حاصل آن دوباره در متغیر x ریخته می شود.
عمگرهای مقایسه ای (Comparison Operators)
از این عملگرها برای مقایسه دو مقدار استفاده می شود.
جدول زیر نحوه عملکرد همه عملگرهای مقایسه ای را شرح می دهد.
عملگر | نام عملگر | مثال |
---|---|---|
== | برابر | x == y |
=! | نا برابر | x != y |
< | بزرگتر از | x > y |
> | کوچکتر از | x < y |
=< | بزرگتر مساوی از | x >= y |
=> | کوچکتر مساوی از | x <= y |
در زیر از هر کدام از عملگرهای مقایسه ای مثالی برای شما آورده ایم
عملگر برابر (==)
x = 5
y = 3
print(x == y)
# returns False because 5 is not equal to 3
مقدار false برمیگرداند به این دلیل که مقدار x با مقدار y برابر نیست.
عملگر نا برابر (!==)
x = 5
y = 3
print(x != y)
# returns True because 5 is not equal to 3
مقدار true را برمیگرداند برای اینکه مقدار x با مقدار y برابر نیست.
عملگر بزرگتر از (<)
x = 5
y = 3
print(x > y)
# returns True because 5 is greater than 3
مقدار true برمیگرداند به این دلیل که مقدار x بزرگتر از مقدار y است.
عملگر کوچکتر از (>)
x = 5
y = 3
print(x < y)
# returns False because 5 is not less than 3
مقدار false برگشت داده می شود به این دلیل که مقدار x کوچکتر از مقدار y نیست.
عملگر بزرگتر مساوی از (=<)
x = 5
y = 3
print(x >= y)
# returns True because five is greater, or equal, to 3
مقدار true را برمیگرداند به این دلیل که مقدار x بزرگتر مساوی از مقدار y است.
عملگر کوچکتر مساوی از (=>)
x = 5
y = 3
print(x <= y)
# returns False because 5 is neither less than or equal to 3
مقدار false برگشت داده می شود به این دلیل که مقدار x نه کمتر و نه برابر با مقدار y است.
عملگرهای منطقی (Logical Operators)
از این عملگرها برای ترکیب عبارات شرطی استفاده می شود.
جدول زیر نحوه عملکرد همه عملگرهای منطقی را شرح می دهد.
عملگر | توضیحات | مثال |
---|---|---|
And | تنها در صورتی true برمیگرداند که هر دو عبارت مقدار true برگردانند. | x < 5 And x < 10 |
Or | اگر یکی یا هر دو عبارت true برگردانند مقدار true برمیگرداتد. | x < 5 Or x < 4 |
Not | نتیجه را معکوس می کند، مقدار true را به false و مقدار false را به true تبدیل می کند. | Not(x < 5 And x < 10) |
در زیر از هر کدام از عملگرهای منطقی مثالی برای شما آورده ایم
عملگر And
x = 5
print(x > 3 and x < 10)
# returns True because 5 is greater than 3 AND 5 is less than 10
مقدار true برمیگرداند چون هر دو عبارت دو طرف And مقدار true را برمیگردانند.
عملگر Or
x = 5
print(x > 3 or x < 4)
# returns True because one of the conditions are true (5 is greater than 3, but 5 is not less than 4)
مقدار true برگشت داده می شود به این دلیل که یکی از دو عبارت شرطی دو طرف عملگر Or مقدار true را برگشت داده است.
عملگر Not
x = 5
print(not(x > 3 and x < 10))
# returns False because not is used to reverse the result
مقدار false برگشت داده می شود به این دلیل که داخل پرانتز مقدار true برمیگرداند ولی با عملگر Not نتیجه معکوس شده است.
عملگرهای همانی یا هویتی (Identity Operators)
این عملگرها از نوع عملگرهای خاص هستند، از این عملگرها برای مقایسه اشیا استفاده می شود، مقایسه از لحاظ برابری انجام نمی شود بلکه شی را با شی دیگر در حافظه از لحاظ نوع آن مقایسه می کند.
جدول زیر نحوه عملکرد همه عملگرهای همانی را شرح می دهد.
عملگر | توضیحات | مثال |
---|---|---|
Is | اگر هر دو متغیر از یک نوع شی باشند مقدار true را برگشت می دهد. | x is y |
Is not | اگر هر دو متغیر از یک نوع شی نباشند مقدار true را برگشت می دهد. | x is not y |
در زیر از هر کدام از عملگرهای همانی مثالی برای شما آورده ایم
عملگر is
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is z)
# returns True because z is the same object as x
print(x is y)
# returns False because x is not the same object as y, even if they have the same content
print(x == y)
# to demonstrate the difference betweeen "is" and "==": this comparison returns True because x is equal to y
همانطور که میبینید در این مثال سه خروجی داریم
خروجی اول مقدار true برمیگرداند چون متغیر z یک شی همانند متغیر x است(از عملگر = برای برابری دو متغیر استفاده شده است)
خروجی دوم مقدار false را برمیگرداند چون متغیر y تنها از نظر محتوا شبیه به متغیر x است و از نظر نوع یکی نیستند.
خروجی سوم برای نشان دادن تفاوت (is) و (==) آورده شده است و چون از نظر محتوا برابر هستند پس مقدار true را برمیگرداند.
عملگر is not
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is not z)
# returns False because z is the same object as x
print(x is not y)
# returns True because x is not the same object as y, even if they have the same content
print(x != y)
# to demonstrate the difference betweeen "is not" and "!=": this comparison returns False because x is equal to y
همانطور که میبینید در این مثال نیز سه خروجی داریم
خروجی اول مقدار false برمیگرداند چون متغیر z یک شی همانند متغیر x است(از عملگر = برای برابری دو متغیر استفاده شده است)
خروجی دوم مقدار true را برمیگرداند چون متغیر y تنها از نظر محتوا شبیه به متغیر x است و از نظر نوع یکی نیستند.
خروجی سوم برای نشان دادن تفاوت (is not) و (!=) آورده شده است و چون از نظر محتوا برابر هستند پس مقدار false را برمیگرداند.
عملگرهای عضویت (Membership Operators)
از این عملگر برای اینکه بررسی کنیم آیا یک مقدار در یک لیست وجود دارد یا نه استفاده می کنیم.
جدول زیر نحوه عملکرد همه عملگرهای عضویت را شرح می دهد.
عملگر | توضیحات | مثال |
---|---|---|
In | اگر مقدار مشخص شده در شی قابل پیمایش وجود داشته باشد مقدار true را برمیگرداند. | x in y |
Not in | اگر مقدار مشخص شده در شی قابل پیمایش وجود نداشته باشد مقدار true را برمیگرداند. | x not in y |
در زیر از هر کدام از عملگرهای عضویت مثالی برای شما آورده ایم
عملگر in
x = ["apple", "banana"]
print("banana" in x)
# returns True because a sequence with the value "banana" is in the list
در مثال بالا چون مقدار “banana” در لیست متغیر x وجود دارد مقدار true برگشت داده می شود.
عملگر not in
x = ["apple", "banana"]
print("pineapple" not in x)
# returns True because a sequence with the value "pineapple" is not in the list
در این مثال چون مقدار “pineapple” در لیست متغیر x وجود ندارد مقدار true را برمیگرداند.
عملگرهای بیتی (Bitwise Operators)
از این عملگرها برای مقایسه اعداد باینری استفاده می شود.
جدول زیر نحوه عملکرد همه عملگرهای بیتی را شرح می دهد.
عملگر | نام عملگر | توضیحات |
---|---|---|
& | AND | اگر مقدار هر دو بیت 1 باشد، نتیجه 1 می شود. |
| | OR | اگر مقدار یکی از دو بیت 1 باشد، نتیجه 1 می شود. |
^ | XOR | اگر فقط یکی از دو بیت 1 باشد و نه هر دو، نتیجه 1 می شود. |
~ | NOT | بیت را معکوس می کند (یعنی 0 را به 1 و 1 را به 0 تبدیل می کند) |
>> | شیفت به چپ | از سمت راست 0 وارد می کند و با این کار بیت های سمت چپ خارج می شوند. |
<< | شیفت به راست | با وارد کردن کپی از چپ ترین بیت از سمت چپ باعث می شود راست ترین بیت ها خارج شوند. |