مقاله قبلی: انواع عملگرهای پایتون – قسمت اول
همان طور که در قسمت قبلی گفته شد، عملگرها سمبل های خاصی هستند که عملیات متعددی (از قبیل منطقی و محاسباتی و …) را بر روی متغیرها و یا مقادیر انجام می دهند. عنصری که عملگر بر روی آن عملی انجام می دهد را عملوند گویند.
در قسمت اول این مقاله با چهار عملگر پایتون با نام های محاسباتی، انتساب، مقایسه ای و منطقی آشنا شدید. در این مقاله به معرفی سه عملگر دیگر با نام های عضویت، همانی و بیتی می پردازیم با ما همراه باشید.
عملگرهای عضویت:
عملگرهای in , not in عملگرهای عضویت پایتون هستند و بررسی می کنند که آیا یک مقدار یا متغیر در یک زنجیره یا توالی (لیست، رشته، تاپل، مجموعه، دیکشنری) یافت می شوند یا نه؟
مثلا در قطعه کد زیر، از آن جا که کاراکتر ‘H’ در رشته x وجود دارد عملگر in مقدار True بر می گرداند و چون رشته x به جای زیر رشته ‘hello’، دارای زیر رشته ‘Hello’ است به دلیل حساس به حروف بودن زبان پایتون، در دستور print دوم عملگر not in مقدار True برمی گرداند.
نکته:
از عملگرهای عضویت در ساختمان داده دیکشنری هم می توان استفاده نمود آن هم زمانی که بخواهید بدانید که آیا یک کلید خاص در یک دیکشنری وجود دارد یا نه. اما لازم است بدانید که با اعمال این عملگر بر روی دیکشنری ها، آزمون عضویت، تنها برای کلیدها انجام می شود نه مقادیر دیکشنری. مثلا همان طور که در قطعه کد بالا می بینید با اینکه کلید 1 و مقدار ‘a’ هر دو عضو یک دیکشنری هستند اما عملگر inبرای کلید 1 مقدار True و بالعکس برای مقدار ‘a’، False را برمی گرداند چون این عملگر، کلیدی با مقدار ‘a’ را نیافته است.
عملگرهای بیتی
همان طور که از نام این عملگر ها پیداست، آن ها بر روی تک تک بیت های عملوند خود اعمال می شوند. مثلا اگر x=2 (0000 1010 ) و y=4 (0000 0100) باشد آن گاه نتیجه اعمال عملگرهای بیتی بر روی تک تک بیت های متناظر این دو عدد به صورت جدول زیر خواهد بود.
به عنوان مثالی دیگر اگرa=60 و b=13 باشد آن گاه داریم:
عملگر | نام | توضیح |
& | and | تنها در حالتی که هر دو بیت 1 باشند نتیجه را 1 می کند. |
| | or | کافیست که حداقل یکی از بیت ها 1 باشد تا نتیجه را 1 کند. |
^ | xor | در حالتی که تنها یکی از دو بیت 1 باشد نتیجه را 1 می کند. |
~ | not | همه بیت ها را معکوس می کند |
>> | شیفت به سمت چپ | عدد دودوئی مورد نظر را به سمت چپ شیفت می دهد. به این صورت که سمت چپ ترین بیت را دور انداخته و به جای آن از سمت راست یک صفر را اضافه می کند. |
<< | شیفت به سمت راست | عدد دودوئی مورد نظر را به سمت راست شیفت می دهد. به این صورت که سمت راست ترین بیت را دور انداخته و سمت چپ ترین بیت را از سمت چپ تکرار می کند. |
عملگرهای مورد استفاده در رشته ها
پایتون از دو عملگر + و * برای کار با رشته ها استفاده می کنند. مثلا برای الحاق و متصل کردن چند رشته به هم و ایجاد یک دنباله رشته ای از عملگر + که به عملگر اتصال هم معروف است استفاده می کند.
تا این جا آموختید که با عملگر + می توان اعداد را با هم جمع بست و یا رشته ها را به هم پیوند داد اما در پایتون، هر گونه تلاش برای جمع بستن یک رشته با یک عدد منجر به ایجاد خطای نوع می شود.
تنها راه جمع بستن یک رشته آن هم از نوع عددی با یک متغیر عددی این است که از تبدیل نوع استفاده کنیم. یعنی ابتدا رشته عددی را به عدد تبدیل کرده و سپس عمل جمع را انجام دهیم. مبحث تبدیل نوع خارج از گنجایش این مقاله است و در مقالات بعدی به طور مفصل به آن خواهیم پرداخت. در این جا صرفا به آوردن یک مثال اکتفا می کنیم. در این مثال به دلیل این که عددی که از کاربر گرفته شده یک رشته است در نتیجه قبل از جمع بستن آن با عدد 78 از تبدیل نوع استفاده کرده ایم.
در پایتون برای تکرار یک رشته به دفعات مشخص نیز از عملگر ضرب استفاده می شود. در مثال زیر می بینید که عملگر * چندین کپی از رشته hello را به یکدیگر پیوند داده و رشته جدیدی ایجاد می کند. در این صورت به این عملگر، عملگر تکرار (repetition operator) گفته می شود.
استفاده از عملگر + و * در لیست ها
در پایتون از عملگر + علاوه بر الحاق رشته ها، برای الحاق لیست ها نیز استفاده می شود. مثلا در مثال زیر می بینید که توسط این عملگر، اعضای دو لیست جداگانه را در یک لیست جمع نموده ایم.
علاوه بر این درست مشابه رشته ها، در لیست ها هم عملگر ضرب، یک لیست جدید با توالی تکراری ایجاد می کند.
عملگرهای فرمت دهی رشته
گاهی اوقات نیاز دارید که از متغیرهایی که قبلا مقدار دهی کرده اید در درون رشته های خود استفاده کنید اما ملاحظه می کنید اگر این متغیرها را به صورت عادی در کنار رشته خود تایپ کنید دیگر ماهیت متغیر بودن خود را از دست می دهند و فرقی با رشته پیدا نمی کنند. پس راه حل این مشکل چیست؟
جالب است بدانید که پایتون برای فرمت دهی رشته هااز عملگری به نام % استفاده می کند. از مهم ترین علامت هایی هم که همراه این عملگر مورد استفاده قرار می گیرد می توان به علامت s برای متغیرهای رشته ای و علامت d برای متغیرهای صحیح علامت دار و علامت f و g برای متغیرهای اعشاری اشاره نمود.
عملگرهای عضویت
از این عملگرها برای بررسی وجود یک کاراکتر یا دنباله ای از کاراکترها در یک شی (یک رشته، لیست یا تاپل ) ، استفاده می شود.
عملگر in : در صورت یافتن عنصر موردنظر در شی مربوطه، مقدار true و در غیر این صورت false را برمی گرداند.
عملگر not in : در صورت یافت نشدن عنصر مورد نظر مقدار true و در غیر این صورت false را برمی گرداند.
یک مثال از کاربرد عملگرهای محاسباتی
می خواهیم برنامه ای بنویسیم که طول اضلاع یک مثلث را از کاربر دریافت کرده و مساحت آن را با داشتن این داده ها محاسبه کند. خوب اولین کاری که باید انجام دهیم استفاده از تابع ورودی input() است. توسط این تابع می توانیم طول اضلاع مثلث را از کاربر دریافت کرده و در متغیرهای a و b و c ذخیره کنیم. اما از آن جا که این تابع درون ساخته پایتون، یک رشته برمی گرداند پس باید آن را به یک عدد (صحیح یا اعشار) تبدیل کنیم. حال چون ممکن است که طول ضلع مثلث یک عدد اعشاری باشد بنابراین رشته عددی دریافتی از کاربر را توسط تابع float به عدد اعشاری تبدیل می کنیم.
در قدم بعدی باید دنبال فرمولی باشیم که مساحت مثلث را با استفاده از طول اضلاع آن محاسبه کند. فرمول هرون دقیقا همان چیزی است که ما به دنبال آن می گردیم. در این فرمول می توان مساحت مثلث را بدون نیاز به داشتن طول ارتفاع، محاسبه کرد. (می دانیم که مساحت مثلث در حالت کلی برابر است با نصف حاصل ضرب ارتفاع*قاعده)
در این فرمول، p برابر نصف محیط مثلث، و a و b و c اضلاع مثلث و S مساحت مثلث میباشند.
در مجموع قسمت اول و دوم این مقاله با عملگر های زیر آشنا شدید:
- عملگرهای محاسباتی
- عملگرهای انتساب
- عملگرهای مقایسه ای (رابطه ای)
- عملگرهای منطقی
- عملگرهای عضویت
- عمگرهای همانی
- عملگرهای بیتی
امیدواریم مورد استفاده شما قرار گرفته باشد. هم چنان با آموزش زبان برنامه نویسی پایتون با ما همراه باشید.
مقاله بعدی: تبدیل نوع در پایتون
ترجمه: رقیه آقایاری
نظر شما چیست؟