در زبانهای برنامهنویسی چند دسته اپراتور یا عملگر داریم که دستههای مختلف در پایتون را مینویسیم:
- اپراتور ریاضی (Arithmetic)
- اپراتور تخصیص (Assignment)
- اپراتور مقایسهای (Comparison)
- اپراتور منطقی (Logical)
- اپراتور Identity
- اپراتور Membership
- اپراتور بیتی (Bitwise)
اپراتور ریاضی
اپراتور تخصیص
اپراتور تخصیص یا Assignment همانند اسمش، مقداری را به متغیری در حافظه اختصاص میدهد.
اپراتور مقایسهای
این اپراتور دو طرف را با هم مقایسه میکند.
اپراتور منطقی
از این اپراتور برای ترکیب عبارات شرطی استفاده میشود.
اپراتور Identity
این اپراتور، هویت و اصالت دو شئ را دقیقا با هم مقایسه میکند که نه تنها دقیقا یک شئ باشند و مقدار یکسان داشته باشند، بلکه در حافظه هم جایگاه یکی داشته باشند.
برای درک بهتر این اپراتور، این برنامه را در نظر بگیرید:
حالا میخواهیم خروجی این سه دستور را ببینیم:
با توجه به این که هر سه تا متغیر مقدار یکسانی دارند احتمالا باید خروجی هر سه عبارت True باشد، اما در حقیقت اینطور نیست. با هم بررسی میکنیم که چرا نیست.
در عبارت اول گفتیم که آیا x با z برابر هست یا خیر.
از آن جایی که لاین سوم گفتیم x = z، بنابراین x دقیقا همان مقدار z را دارد و جایگاهش در حافظه دقیقا همان جایگاه x هست، بنابراین عبارت اول مقدار صحیح دارد.
عبارت دوم گفتیم اگر x و y هم یکی هستند خروجی برگرداند اما در اصل مقدار False برمیگرداند چرا که جایگاهی که x در حافظه دارد با جایگاهی که y در حافظه دارد با هم متفاوت هستند. x یک سری خانه در حافظه به خودش اختصاص داده که با خانههایی که y دارد متفاوت است و بنابراین پرینت x is y برابر میشود با False. در حقیقت is نه تنها کاری به محتوا ندارد که یکی باشند، بلکه جایگاه در حافظه را هم بررسی میکند.
اما خروجی پرینت آخر True میشود چرا که == صرفا محتوا را تطبیق میدهد و کاری به جایگاه حافظه ندارد.
بنابراین خروجی برنامه به این صورت میشود:
اپراتور Membership
این اپراتور چک میکند اگر عبارت یا مقداری در یک متغیر وجود دارد و مقدار صحیح یا غلط نشان میدهد.
این را هم بگذارید مثالی بزنیم. برنامه زیر را در نظر بگیرید:
به دلیل این که عبارت 'banana' عضو متغیر x هست پس انتظار داریم که مقدار صحیح بولین را در خروجی ببینیم.
خروجی:
و اپراتور not in هم دقیقا به همین صورت است. کد زیر را در نظر بگیرید:
چون عبارت 'peach' عضو x نیست بنابراین این انتظار داریم خروجی False را در صفحه نمایش مشاهده کنیم.
خروجی:
اپراتور بیتی
اپراتور بیتی یا Bitwise
نظرات
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.