در شماره قبل به بررسی تعدادی از عملگرها شامل عملگرهای حسابی، مقایسهای و منطقی در محیط پایتون پرداختیم. در این شماره به معرفی برخی دیگر از عملگرها شامل عملگرهای بیتی، عملگرهای انتسابی، عملگرهای هویتی و عملگرهای عضویت که جهت برنامه نویسی در این محیط بسیار مورد استفاده قرار میگیرند میپردازیم.
عملگرهای بیتی
عملگرهای بیتی در زبانهای برنامه نویسی به صورت AND با نماد &، عملگر OR که با نماد |, عملگر XOR با نماد ^، عملگر NOT که با نماد ~، عملگر شیفت به راست با نماد >> و عملگر شیفت به چپ با نماد << تعریف میشوند. این نوع عملگرها روی عملوندهایی که به صورت رشته یا به صورت دودویی هستند عمل میکنند. البته اگر اعدادی به صورت دهدهی یا اوکتال و … باشند برنامه پایتون میتواند به ساختار دودویی تبدیل کرده و عملگرها بیتی روی آنها اعمال شوند. جدول ۱، نحوه اعمال عملگرهای بیتی ذکر شده در بالا را با جزئیات بیشتر نشان میدهد. فرض کنید مقدار a=0101 و مقدار b=0011 باشد.
جدول ۱) نحوه استفاده از عملگرهای بیتی
عملگر AND (&)
هنگامی که از عملگر & بر روی عملوندهای بیتی استفاده میشود نتیجه به صورت صفر و یک نشان داده میشود. نتیجه عملگر AND در صورتی که هر دو عملوند برابر یک باشند خروجی یک و در غیر اینصورت خروجی صفر خواهد شد.
عملگر OR (|)
حاصل استفاده از این عملگر زمانی صفر خواهد شد که هر دو عملوند برابر صفر باشند، در غیر اینصورت حتی اگر یکی از عملوندها برابر یک باشد خروجی این عملگر برابر یک خواهد بود.
عملگر XOR (^)
در صورتی که مقدار دو عملوند مشابه هم نباشد خروجی یک و در صورت تشابه، خروجی صفر خواهد شد. به عبارت دیگر اگر یکی از عملوندها غیر صفر و دیگری صفر باشد خروجی عملگر یک و در صورتی که هر دو عملوند صفر یا غیر صفر باشند خروجی به صورت صفر خواهد بود.
عملگر NOT (~)
این عملگر ورودی صفر را به یک و ورودی یک را به صفر تبدیل میکند. بنابراین این عملگر همه بیتها را معکوس میکند.
عملگر شیفت به راست (>>)
این عملگر جهت شیفت داده ورودی بیتی استفاده میشود با توجه به تعداد شیفت تعیین شده مقدار عملوندها به راست انتقال داده میشود و به تعداد شیفت از سمت چپ صفر اضافه میشود. به طور مثال در جدول ۱، مقدار شیفت دو تا به راست است که اعداد به سمت راست شیفت پیدا کرده و در نهایت دو عدد از سمت راست خارج شده و دو صفر از سمت چپ جایگزین میشوند.
عملگر شیفت به چپ (<<)
این عملگر نیز مانند عملگر شیفت به راست وظیفه انتقال عملوند را دارد با این تفاوت که به تعداد ارقامی که از سمت چپ خارج میشوند عدد صفر از سمت راست جایگزین میشود. جدول ۱، شیفت به چپ به میزان سه رقم را نشان میدهد که سه صفر از سمت راست اضافه شدهاند.
به منظور درک بهتر از نحوه استفاده از عملگرهای بیتی میتوانید به مثالهای ذکر شده در شکل ۱، که در محیط پایتون نشان داده شده است، توجه کنید.
شکل ۱) چگونگی تعریف عملگرهای بیتی در محیط پایتون
عملگرهای انتسابی
یکی دیگر از انواع عملگرها در پایتون، عملگر انتسابی است. این عملگر مقدار متغیر سمت راست را با توجه به علامت عملگر با متغیر سمت چپ محاسبه کرده و حاصل در متغیر سمت چپ قرار داده میشود. به طور مثال عبارت a+=b به معنی a=a+b است. از عملگرهای انتسابی زمانی استفاده میشود که متغیر سمت چپ و راست مساوی، مشابه باشند. جدول ۲، انواع عملگرهای انتسابی پرکاربرد را نشان میدهد.
جدول ۲) نحوه استفاده از عملگرهای انتسابی
عملگرهای هویت و عملگرهای عضویت
عملگر هویت در پایتون به صورت is و is not تعریف میشود از این متغیرها برای کنترل ورودی به فرمت مدنظر یا جهت مقایسه استفاده میشود. به طور مثال اگر بخواهیم ورودی فقط کاراکتر باشد این عملگر ابتدا نوع متغیر را کنترل میکند و در صورتی که متغیر مورد نظر درست باشد عملیات بعدی اجرا میشود. نکتهای که باید مورد توجه قرار گیرد این است که صرفا مساوی بودن مقدار دو متغیر ملاکی بر درستی نتیجه این عملگر نیست بلکه باید دو متغیر همانی باشند یعنی در بخش مشابهی از حافظه قرار گرفته باشند.
برای تعریف عملگرهای عضویت از in یا not in استفاده میشود. در صورتی که متغیری در یک دنباله یافت شود حاصل این عملگر درست (True) و در غیر اینصورت نادرست (False) است. در مورد عملگر not in هم به صورت معکوس خواهد بود در صورت یافت شدن متغیر در دنباله شرط نادرست و در غیر اینصورت شرط درست است.
اولویت عملگرها در پایتون
با توجه به معرفی انواع عملگرها در بخشهای قبلی جدول ۳، اولویت یا برتری عملگرها در محاسبه نتیجه یک عبارت محاسباتی یا منطقی را به ترتیب از بالا به پایین نشان میدهد.
جدول ۳) تقدم عملگرها در زبان برنامهنویسی پایتون
دیدگاه ها