اپراتورها یا عملگرها در پایتون
عملگرها برای تغییر متغیرها و مقادیر استفاده میشوند.
عملگرها در پایتون به هفت گروه تقسیم شدهاند که در زیر لیست آنها را میبینید.
- عملگرهای ریاضی یا حسابی در پایتون
- عملگرهای مقایسهای در پایتون
- عمگرهای منطقی در پایتون
- عملگرهای بیتی در پایتون
- عملگرهای انتسابی در پایتون
- عمگرهای هویتی در پایتون
- عملگرهای عضویت در پایتون
عملگرهای ریاضی یا حسابی در پایتون
عملگرهای ریاضی برای انجام اعمال ریاضی روی اعداد استفاده میشوند.عملگرهای حسابی در پایتون عبارتند از چهار عمل اصلی ریاضی(جمع، ضرب، تفریق، تقسم) و باقی ماندهء صحیح تقسیم، توان، کف خارج قیمت.
عملگر جمع در پایتون
به طور معمول عملگر جمع دو عدد را باهم جمع میکند و در پایتون با + نمایش داده میشود.
print(2+3)
//۵
print(1.2+3)
//۴٫۲
print(-2+3)
//۱
عملگر تفریق در پایتون
این عملگر همان عملگر معمول تفریق ریاضی است.عملگر تفریق در پایتون همانند ریاضیات با “-” نمایش داده میشود و حاصل تفاضل عددی که در سمت چپ این اپراتور میاد را با عدد سمت راستش را محاسبه میکند.
print(3-1)
//print 2
print(2-5)
#print -3
عملگر ضرب در پایتون
عملگر ضرب در پایتون همان عمل ضرب معمول ریاضی است و دو عدد یا متغیر را با هم ضرب میکند.عمگر مذکور با * نمایش داده میشود.
print(0*2)
#print 0
print(1*2)
#print 2
print(2*3)
#print 6
عملگر تقسیم در پایتون
عملگر تقسیم در پایتون همان عملگر معمول تقسیم در ریاضی است.این عملگر در پایتون با کاراکتر “/” نمایش داده میشود.
همانطور که میدانید تقسیم هر عدد بر صفر تعریف نشده است پایتون نیز از این قاعده مستثنی نیست در نتیجه اگر بخواهید در پایتون عددی را به صفر تقسیم کنید خطا دریافت خواهید کرد.
print(2/0)
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#ZeroDivisionError: division by zero
print(2/1)
#print 2
print(2/2)
#print 1
عملگر باقیمانده یا Moulus
این عملگر باقیماندهی حاصل از تقسیم دو عدد را برمیگرداند.به این صورت که عدد سمت چپ را به عدد سمت راستش تقسیم کرده و باقیماندهی حاصل از تقسیم را برمیگرداند.به مثالهای زیر توجه نمائید.
این عملگر در بین برنامه نویسها به عمگر mod معروف است.
print(5%2)
# print 1
print(4 %2)
#print 0
print(5%2)
#print 1
print(4 % 2)
#print 0
print(-4 % 2)
#print 0
print(-5 % 2)
#print 1
print(5 % -2)
#print -1
عملگر یا اپراتور توان در پایتون
بر خلاف برخی زبانهای برنامه نویسی مثل پی اچ پی یا سی عملگر توان در پایتون به صورت مجزا تعریف شده است و با “**” دو علامت ضربدر در کنار هم دیگر نمایش داده میشود.
عمگر توان در پایتون به صورت زیر استفاده میکنیم:
print(X**y)
در تکه کد بالا پایتون x را y بار در خودش ضرب کرده و نتیجه را در خروجی چاپ میکند یا به عبارتی x را به توان y میرساند.
print(2**3)
#print 8
#۲*۲*۲=۸
همچنین پایتون از توانهای منفی نیز پشتیبانی میکند.
print(2**-3)
#print 0.125
تقسیم رند یا خارج قسمت صحیح در پایتون
این عمگر عدد سمت چپش را بر عدد سمت راستش تقسیم کرده و کوچکترین عدد صحیح حاصل از خارج قسمت تقسیم این دو عدد را برمیگرداند.
print(5//2)
#print 2
print(-5//2)
#print -3
print(5//-2)
#print -3
print(4//2)
#print 2
print(4//-2)
#print -2
عمگرهای مقایسه در پایتون
همانطور که از نام این عملگرهای مشخص است دو مقدار یا دو متغیر را مقایسه میکنند.حاصل این مقایسهTrue یا False است.
این عملگرهای معمولا در شرطها و حلقهها برای تصمیم گیری و انتخاب مسیر اجرای کدها استفاده میشوند.
مقایسهی مساوی بودن دو مقدار یا دو متغیر در پایتون
این عملگر با دو کاراکتر مساوی پشت (“==”)سر هم و بدون فاصله نمایش داده میشود.
اگر دو مقدار یا متغیر کنار این عملگر مساوی باشند حاصل مقایسه صحیح یا True خواهد بود ولی اگر دو مقدار یا متغیر طرفین این اپراتور مساوی نباشد حاصل مقایسه False خواهد بود.
به مقادیر و حاصل مقایسهی مثالهای زیر توجه کنید.(هر کدام از مثالها را اجرا کردم و نتیجهها را از ترمینال کپی کردم)به نحوهی مقایسهی اعداد با مقادیر بولین (True و False) توجه نمائید به خطاها، اشتباهات تایپی و …. دقت نمائید.
[trueans@parrot]─[/var/www/html/mr-melk/public_html/cp]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(2==3)
False
>>> print(2==2)
True
>>> print(true==true)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> print(True==True)
True
>>> print(False==0)
True
>>> print(True=1)
File "<stdin>", line 1
SyntaxError: cannot assign to True
>>> print(True==1)
True
>>> print(True==3)
False
>>> print(False==3)
False
>>> print(True=="1")
False
>>> print(True=="0")
False
>>> print(False=="0")
False
>>> print(False=="ss")
False
>>> print(True=="ss")
False
>>> print(True=="True")
False
>>> print(False=="False")
False
عملگر نامساوی در پایتون
عمگر نامساوی در پایتون با یک علامت تعجب(البته در فارسی) یا درستتر با کاراکتر ! یا همان not و بعد از آن یک کاراکتر مساوی به صورت ‘!=’نمایش داده میشود.
دقت کنید که میان این دو کاراکتر نباید فاصله باشد.در غیر این صورت خطای نحوی دریافت خواهید کرد.
print(2! =3)
File "<stdin>", line 1
print(2! =3)
^
SyntaxError: invalid syntax
>>> print(2!=3)
True
>>> print(True!=3)
True
>>> print(3!=3)
False
>>> print(False!=0)
False
>>> print(True!=3)
True
>>> print(True!=false)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'false' is not defined
>>> print(True!=False)
True
>>> print('amir'!='ali')
True
>>>
بر خلاف اکثر زبانهای برنامه نویسی خانواده سی مثل پی اچ پی و همچنین خود سی که عدد صفر را معادل نادرست یا False میگیرند و بقیهی مقادیر را True پایتون دقیتر عمل میکند و عدد یک را True و عدد صفر را False در نظر میگیرد.
عمگر بزرگتر از در پایتون
عملگر بزرگتر از در پایتون با ‘<‘ نمایش داده میشود.و به صورت زیر استفاده میشود.
x>y
این عبارت x بزرگتر است از y خوانده میشود و در صورتی که x بزرگتر از y باشد حاصل مقایسه صحیح یا True است و اگر مقدار x کوچکتر از y یا مساوی yباشد حاصل مقایسه نادرست یا False خواهد بود.به مثالهای زیر که با پایتون ۳.۸.۳ اجرا شدهاند دقت نمائید.
>>> print(4>5)
False
>>> print(4>2)
True
>>> print(True>False)
True
>>> print(False>True)
False
>>> print('a'>'b')
False
با توجه به این که پایتون True را یک در نظر میگیرد و False را صفر در نتیجه True بزرگتر از False است.
عمگر کوچکتر از در پایتون
ظاهر و عمکرد عمگر کوچکتر از در پایتون دقیقا برعکس و ‘>’ یا همان عملگر بزرگتر است، است.در نتیجه عمگر کوچکتر از در پایتون با ‘>’ نمایش داده میشود و به صورت زیر استفاده میگردد.
x<y
اگر x کوچکتر از y باشد حاصل مقایسه صحیح یا True خواهد بود در غیر این صورت حاصل False یا نادرست خواهد بود.
>>> print(2<3)
True
>>> print(3<2)
False
عمگر بزرگتر یا مساوی در پایتون
عمگر بزرگتر یا مساوی در پایتون با دو کاراکتر ‘=’ و ‘<‘نمایش داده میشود.
این عملگر در پایتون به صورت زیر استفاده میشود:
x >= y
اگر X بزرگتر یا مساوی y باشه جواب True و در غیر انصورت جواب False خواهد بود.
─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(3>=4)
False
>>> print(4>=3)
True
عمگر کوچکتر یا مساوی در پایتون
این عملگر برای مقایسهی دو مقدار یا دو متغیر استفاده میشود و به صورت زیر استفاده میشود.
x <= y
اگر x کوچکتر یا مساوی y باشد، جواب مقایسه True و در غیر این صورت False خواهد بود.
>>> print(4<=3)
False
>>> print(4<=6)
True
عمگرهای مقایسه در پایتون
همانطور نام این عمگرهای مشخص است اعمال اصلی منطقی را انجام میدهند.عمگرهای منطقی تعریف شده در پایتون عبارتند از or,and,not
عملگرهای منطقی در پایتون برای ترکیب دستورات شرطی استفاده میشود.
and منطقی در پیاتون
and منطقی در پیاتون دو مقدار یا دادهی دو طرفش را and میکند اگر هر دو مقدار صحیح باشد جواب صحیح است اگر یکی یا هرود مقادیر False یا نادرست باشد جواب False یا نادرست خواهد بود.در نتیجه حاصل and دو مقدار از جدول زیر پیروی میکند.
False | True | and |
False | True | True |
False | False | False |
به مثالهای زیر توجه نمائید.
>>> print(x<6 and x>2)
True
>>> print(False and True)
False
>>> print(True and False)
False
>>> y=7
>>> print(x>y and x<10)
False
>>> print(x<y and x<10)
True
عمگرها منطقی معمولا در حلقهها و شرطها برای تعیین مسیر اجرای برنامه استفاده میگرددند.
عملگرهای بیتی در پایتون
در برنامه نویسی عملیات بیتی(به انگلیسی bitwise operation)، به انجام عملیات مختلف بر روی تک تک بیتهای یک عدد دودویی یا هر الگوی بیتی دیگری گفته میشود. این کار به منظور محاسبه و مقایسه مقادیر مختلف انجام میشود و یک عملیات سریع است و مستقیماً توسط پردازنده پشتیبانی میشود. در یک پردازنده ساده و ارزان قیمت، بهطور معمول، عملیات بیتی به شکل قابل ملاحظهای سریعتر از تقسیم، چند برابر سریعتر از ضرب و گاهی اوقات به طرز چشمگیری سریعتر از جمع است. حتی در یک پردازنده مدرن و گرانقیمت که ضرب و جمع را به همان سرعت عملیات بیتی انجام میدهد، عملیات بیتی معمولاً منابع کمتری مصرف میکنند و استفاده از آنها به صرفه تر است.
عمگرهای بیتی در پایتون برای انجام اعمال بیتی روی اعداد باینری استفاده میشوند.
AND (&)بیتی در پایتون
AND بیتی در پایتون با کارکتر امپرسند ‘&’ نمایش داده میشود.اگر هر دوبیت یک باشد حاصل یک است در غیر این صورت حاصل صفر است.
۱ | ۰ | & |
0 | 0 | 0 |
1 | 0 | 1 |
┌─[✗]─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(2&3)
۲
>>> print(4&2)
۰
>>> print(5&1)
۱
>>>
با توجه به این که گفتیم این عمگرهای بیتی هستن حالا ببینیم پایتون این حاصل عبارات بالا را چطور محاسبه میکنه
برای محاسبه تمامی اعداد را به معادل دودویی آن تبدیل کرده و سپس بیتهای نظیر به نطیر را با هم AND نمائید.از اونجایی که من برای تثبیت مفاهیم برنامه نویسی معمولا از کاغذ مداد استفاده میکنم و مفاهیم را میتویسم در زیر یک مثال برای شما آپلود کردم.

OR (|) بیتی(یای بیتی) در پایتون
OR بیتی در پایتون همانند OR منطقی عمل میکند با این تفاوت که OR بیتی برای انجام عمل OR روی دو عدد باینری کاربرد دارد.
اگر هر دو صفر باشد جواب یای بیتی صفر خواهد بود در غیر این صورت جواب یک خواهد بود.
به مثال های زیر توجه کنید:
۱ | ۰ | | |
۱ | ۰ | ۰ |
۱ | ۱ | ۱ |
XOR (یای انحصایی)بیتی
عمگر XOR بیتی عمل یای انحصاری را روی دو بیت انجام میدهد یه این صورت که اگر هر دو بیت همسان باشد (هر دو بیت صفر یا یک باشد)جواب ۰ خواهد بود و اگر بیت ها غیر همسان باشد(یکی صفر و دیگری یک) جواب ۱ خواهد شد.
این عمگر در پایتون با کارکتر ‘^’ نمایش داده میشود.
در جدول زیر حاصل این عمل روی انواع مختلف ورودی را میبینید.
۱ | ۰ | ^ |
۱ | ۰ | ۰ |
۰ | ۱ | ۱ |
۱^۰=۱
۱^۱=۰
۰^۰=۰
NOT بیتی در پایتون
این عملگر به عنوان نفی بیتی یا مکل بیتی شناخته میشود.و به ترتیب تمامی بیتهای یک عدد دودیی را مکمل (اگر ۰ به ۱ و بلعکس) تبدیل میکند.
این عمگر در پایتون با ‘~'(دکمه شیفت + دکمهی قبل از عدد یک روی کیبورد) نمایش داده میشود.
~۰=۱
~۱=۰
~۰۱۱۰۰۱=
عمگر شیفت در پایتون
این عمگر اعداد دودویی را به سمت راست یا به سمت چپ انتقال میدهند و موجب میشوند از یک طرف ارقام از بین بروند و از طرف مخالف صفر وارد شود.
عمگر شیفت به چپ در پایتون
این عملگر به صورت ‘>>’ نمایش داده میشود و به صورت زیر استفاده میگردد.
x<<y
که عدد x نشان دهندهی عددی است شیفت باید روی آن انجام شود و عدد y نشان دهندهی تعداد شیفتهاست.
دقت کنید که y نمیتواند منفی باشد.
python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(1<<1)
۲
>>> print(-1<<1)
-۲
>>> print(-3<<1)
-۶
>>> print(3<<-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: negative shift count
عملگر شیفت به راست در پایتون
این عمگر عدد دو دویی مورد نظر را به عداد مشخصی که شما تعیین کردین به راست انتقال میدهد و از سمت چپ صفر وارد میشود.
این عمگر در پایتون به صورت زیر استفاده میشود.
x>>y
تکه کد بالا عدد x را y بار به سمت راست انتقال میدهد و به همان تعداد از سمت چپ صفر وارد میشود.
به مثال زیر که در ترمینال خودم و توسط پایتون ۳ اجرا کردم توجه نمائید.
>>> print(2>>1)
۱
>>> print(-2>>1)
-۱
>>> print(-2>>2)
-۱
>>> print(-2>>3)
-۱
>>> print(-2>>30)
-۱
>>> print(3>>2)
۰
>>> print(3>>20)
۰
عمگرهای انتسابی در پایتون
این عمگرهای برای انتساب یک مقدار به یک متغییر استفاده میشود.
عمگر = در پایتون
اصلی ترین عمگر این مجموعه از عمگرهای پایتون ‘=’ است که یک مقدار یا مقدار متغیر سمت راست خودش را به متغیر سمت چپش انتساب میکند.
x=1;
x=y;
trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=3
>>> print(x)
۳
>>> y=4
>>> print(y)
۴
>>> x=y
>>> print(x)
۴
>>> print(y)
۴
>>>
بقیه عمگرهای انتساب از ترکیب عمگر ‘=’ عمگرهای ریاضی و بیتی به وجود آمدهاند.
عمگر =+ در پایتون
در حقیقت این عمگر از ترکیب عمگر ‘+’ و ‘=’ تشکیل شده است به صورت
x += 3
کد بالا معادل کد زیر است:
x=x+3
─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=3
>>> x+=2
>>> print(x)
۵
>>>
در حقیقت این عمگر مقدار متغیر سمت چپ خود را با یک مقدرا جمع کرده و در آن جایگذاری میکند.
عمگر =- در پایتون
این عملگر از ترکیب دو عمگر ‘-‘ و ” تشکیل شده است و به صورت x-=y استفاده میگردد که معادل x=x-2 است.
یعنی این عمگر مقدار یا مقدار متغییر سمت راست را از متغیر سمت چپش کم کرده و به متغیر سمت چپ انتساب میکند.
>>> x=2
>>> y=3
>>> y-=x
>>> print(y)
۱
>>>
عمگر =* در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘*’ به وجود آمده و عملوندهای خود را ضرب کرده و در عملوند سمت چپ جایگزین میکند. این عمگر به صورت x=*3 استفاده میشود که همان x=x*3 است.
─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=3
>>> print(x)
۳
>>> x*=2
>>> print(x)
۶
>>>
عملگر =/ در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘/’ تشکیل یافته و حاصل خارج قسمت تقسیم عملوند سمت چپ بر عملوند سمت راست را محاسبه کرد و در عملوند سمت چپ جایگزین میکند.یعنی کد x/=3 معادل x=x/3 است.
در اینجا نیز تقسیم بر صفر غیر مجاز است.
>>> x=3
>>> x/=3
>>> print(x)
۱٫۰
>>> x/=0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: float division by zero
>>>
عملگر =% در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘%’ به وجود آمده است. این عمگر در پایتون باقیمانده تقسیم عملوند سمت چپ خود را بر عملوند سمت راست محاسبه کرده و در عملوند سمت چپ جایگزین میکند.
تکه کدی x%=2 معادل x=x%۲ است.
>>> x=2
>>> x%=2
>>> print(x)
۰
>>> y=3
>>> y%=0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
توجه نمائید که تقسیم بر صفر خطا به وجود میآورد.
عمگر =// در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘//’ به وجود آمده است و کوچکترین عدد صحیح حاصل از تقسیم عملوند سمت چپش را به عملوند سمت راستش حساب کرده و در عملوند سمت چپ حایگزین میکند.
عبارت x//=2 معادل عبارت x=x//2 است.
[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=5
>>> x//=2
>>> print(x)
۲
>>>
عمگر =** در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘**’ تشکیل شده است. همانطور که مشخصه این عمگر، عملوند سمت چپ خود را به توان عملوند سمت راست میرساند و حاصل را در عملوند سمت چپ جایگزین میکند.
تکه کد x**=y معادل x=x**y است.
>>> x=2
>>> y=2
>>> x**=y
>>> print(x)
۴
>>> x**=-1
>>> print(x)
۰٫۲۵
این عمگر از توانهای منفی نیز پشتیبانی میکند.
عمگر =& در پایتون
این عمگر از از ترکیب دو عمگر ‘=’ و ‘&’ تشکیل شده است.و عمکردش نیز همانند سایر عمگرهای انتسابی ترکیب عملکرد دو عمگر ‘=’ و ‘&’ است.
تکه کد x&=3 معادل x=x&3 است.به مثالهای زیر که در پایتون ۳.۸.۳ که روی کامپیوتر من اجرا شده دقت نمائید.
>>> x=3
>>> x&=3
>>> print(x)
۳
>>> x&=2
>>> print(x)
۲
عمگر =| در پایتون
این عمگر از ترکیب دو عمگر ‘=’ و ‘|’ به وجود آماده است.این عمگر حاصل یای بیتی عدد یا عملوند سمت چپش را با عملوند سمت راستش حساب کرده و به عملوند سمت راستش جایگزین میکند.
>>> x=2
>>> x|=2
>>> print(x)
۲
>>> x|=3
>>> print(x)
۳
>>> x|=4
print(x)
>>> print(x)
۷
عمگر =^ در پایتون
این عمگر از ترکیب عمگر ‘=’ و ‘^’ (یای انحصاری) تشکیل شده است. این عمگر نتیجهی یا انحصاری عملوند سمت چپ خود را با عملوند سمت راست محاسبه کرده و در عملوند یا متغیر سمت چپ جایگزین میکند.
این عمگر به صورت x^=3 استفاده میشود و معادل x=x^3 است.
به مثال زیر که در کامپیوتر خودم و با استفاده از پایتون ۳٫۸٫۳ اجرا کردم دیقت نمائید.
[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=2
>>> x^=3
>>> print(x)
۱
>>> y=2
>>> y=y^3
>>> print(y)
۱
عمگر =<< در پایتون
این عمگر از ترکیب دو عمگر انتساب (‘=’) و عمگر شیفت به راست (‘>>’) تشکیل شده است. این عمگر عملوند سمت چپ را به تعداد عملوند سمت راست خود به راست انتقال داده و به جای ارقام انتقال یافته صفر وارد میکند و در عملوند سمت چپ جایگزین میکند.
این عمگر به صورت x>>=3 استفاده میگردد که همان x=x>>3 است.به مثال زیر توجه نمائید.
>>> x=3
>>> x>>=2
>>> print(x)
۰
>>> y=3
>>> y=y>>2
>>> print(y)
۰
عملوند =>> در پایتون
این عملوند همانند عملوندهای انتصابی دیگر از ترکیب دو عملوند انتساب (‘=’) و شیفت به چپ تشکیل شده است.
این عملگر عملوند سمت چپ خود را به تعداد عملوند سمت راست به چپ منتقل میکند و حاصل را در عملوند سمت چپ خود جایگزین میکند.
این عمگر در پایتون به صورت x<<=3 استفاده میگردد که با x=x<<3 هم ارز است.
به مثال زیر که در کامپیوتر خودم و با استفاده از پایتون ۳٫۸٫۳ اجرا شده است دقت نمائید.
>>> x=3
>>> x<<=2
>>> print(x)
۱۲
>>> y=3
>>> y=y<<2
>>> print(y)
۱۲
>>>
عمگرهای هویت در پایتون
عملگرهای هویت برای مقایسهی اشیاء استفاده میشود.عمگرهای هویت مساوی بودن دو شی را بررسی نمیکنند بلکه مقایسه میکنند که آیا عملوندهایش به یک آدرس از حافظه اشاره میکند یا خیر.
عمگر is در پایتون
عمگر is در پایتون بررسی میکند که آیا عملوندهایش به یک آدرس از حافظه اشاره یا ارجاع دارند یا خیر. اگر عملوندهای این عمگر به یک آدرس از حافظه اشاره یا ارجاع کنند نتیجهی مقایسه True است و در غیر این صورت False.
به مثال زیر که در کامپیوتر خودم و با پایتون ۳.۸.۳ اجرا شده دقت نمائید.
>>> x=['amir','ali']
>>> y=['amir','ali']
>>> x is y
False
>>> z=x
>>> x is z
True
>>> x==y
True
عملگر is not در پایتون
این عمگر برعکس عمگر is است.یعنی اگر عمگرهایش به یک آدرس از حافظه اشاره کنند نتیجهی مقایسه False خواهد بود ولی اگر به آدرسهای متفاوتی اراع یا اشاره کنند True.
>>> x=['hassan','ali']
>>> y=['hassan','ali']
>>> z=x
>>> print(x is not y)
True
>>> print(y is not z)
True
>>> print(x is not z)
False
عمگرهای عضویت در پایتون
همانطور که از نام این عمگرها مشخصه عضو بودن یا عضو نبودن عنصری را در یک کلاس یا مجموعه را بررسی میکنند.
عمگر in در پایتون
این عملگر بررسی می کندکه آیا عنصری عضو یک کلاس یا مجموعه است یا خیر اگر عضو باشد حاصل True و در غیر این صورت False خواهد بود.
به مثال زیر که در کامپیوتر من و روی پایتون ۳.۸.۳ اجرا شده است توجه نمائید.
┌─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=['ali','hassan','amir']
>>> print('ali' in x)
True
>>> print('jafar' in x)
False
عملگر not in در پایتون
عمگر not in در پایتون عضو نبودن یک عنصر را در یک کلاس یا مجموعه بررسی میکند.
اگر عنصر مورد نظر در یک کلاس عضو باشد حاصل True و در غیر این صورت False خواهد بود.
[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.3 (default, May 14 2020, 11:03:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=['ali','hassan','amir']
>>> print('ali' in x)
True
>>> print('jafar' in x)
False
>>> print('jafar' not in x)
True
>>> print('ali' not in x)
False
منبع: w3school