آموزش اپراتورها در python: آشنایی با انواع عملگر پایتون

عملگرها ابزارهای قدرتمندی هستند که امکان انجام عملیات مختلف روی داده‌ها را فراهم می‌کنند. عملگرهای پایتون را می‌توانیم در ۷ دسته‌بندی مختلف تقسیم‌بندی کنیم. در این آموزش تمام اپراتورها را بررسی می‌کنیم و با مثال‌هایی از برخی از انواع عملگر پایتون استفاده می‌کنیم.

یادگیری این operatorها نه تنها به افزایش مهارت‌های برنامه‌نویسی کمک می‌کند، بلکه به ما این امکان را می‌دهد که به‌عنوان توسعه‌دهنده، حرفه‌ای‌تر عمل کنیم. از عملگرهای ریاضی برای محاسبات گرفته تا عملگرهای مقایسه‌ای برای تصمیم‌گیری‌های منطقی، همه در توسعه نرم‌افزار نقش به‌خصوصی دارند.

در هر بخش از این آموزش یکی از دسته‌بندی‌هایی که برای عملگرها داریم را بررسی می‌کنم.

عملگرهای ریاضی

همان‌طور که از اسمشان پیداست، این عملگرها در پایتون برای انجام محاسبات ریاضی مانند جمع، تفریق، ضرب و تقسیم استفاده می‌شوند. این نوع operatorها برای کار با اعداد صحیح (integer) و اعداد اعشاری (float) کاربرد دارند.

برای استفاده از عملگرهای ریاضی سه حالت مختلف داریم:

  • بین دو مقدار (دو عدد)
  • بین دو متغیر (که مقدار عددی دارند)
  • بین یک متغیر و یک مقدار

در خط دوم کد زیر، مجموع دو عدد را درون متغیر test قرار داده‌ام. همچنین در خط سوم، مقدار test را به توان ۲ رسانده و چاپ کرده‌ام.

test = 12 + 32
print( test ** 2 )

در جدول زیر تمام عملگرهای ریاضی پایتون نوشته شده است. در یکی از جلسات بخش اول دوره جامع آموزش پایتون به‌صورت ویدئویی این اپراتورها را بررسی کرده‌ام.

عملگرعملیاتمثالخروجی مثال
+جمع3 + 58
-تفریق10 - 46
*ضرب6 * 318
/تقسیم9 / 24.5
//تقسیم صحیح9 // 24
%باقی‌مانده تقسیم10 % 31
**توان2 ** 38

عملگرهای مقایسه‌ای پایتون

این عملگرها برای مقایسه دو مقدار استفاده می‌شوند. نتیجه استفاده از این عملگرها True یا False است؛ بنابراین معمولاً در ساختار شرط در پایتون نقش زیادی ایفا می‌کنند.

این اپراتورها برای مقایسه‌هایی نظیر برابری، نابرابری، بزرگ‌تری و کوچک‌تری استفاده می‌شوند.

برای مثال فرض کنید در یک سیستم صدور فاکتور، می‌خواهیم بررسی کنیم اگر مجموع سبد خرید کاربر بیشتر از یک مبلغ خاص بود، تخفیفی برای او اعمال کنیم. در این موقعیت از عملگر >= برای بررسی بزرگ‌تر یا مساوی بودن دو مقدار کمک می‌گیریم.

total = 850000       # مجموع سبد خرید
threshold = 500000   # حدنصاب اعمال تخفیف

if total >= threshold:
    print("شامل تخفیف می‌شود.")
else:
    print("برای استفاده از تخفیف باید حداقل 500,000 تومان خرید کنید.")

عبارت total >= threshold معادل 850000 >= 500000 است که این مقایسه برقرار و معادل True است. بنابراین پیام «شامل تخفیف می‌شود» در خروجی چاپ خواهد شد.

در جدول زیر تمام عملگرهای پایتون که برای مقایسه استفاده می‌شوند را قرار داده‌ام:

عملگرنوع بررسیمقالنتیجه مثال
==برابری5 == 5True
!=نابرابری4 != 3True
>بزرگ‌تری10 > 5True
<کوچک‌تری5 < 2False
>=بزرگ‌تر یا مساوی7 >= 7True
<=کوچک‌تر یا مساوی3 <= 5True

انواع عملگر منطقی python

بعضی وقت‌ها در ساختارهای شرطی نیاز داریم چند شرط مختلف را با هم بررسی کنیم. مثلاً بررسی کنیم که آیا هم‌زمان هوا ابری «و» دمای هوای زیر صفر است یا نه؟ در چنین حالتی از عملگر منطقی پایتون بین دو شرط استفاده می‌کنیم.

فرض کنید در سیستم یک سایت می‌خواهیم بررسی کنیم که آیا کاربر عضو VIP است و مبلغ خرید او بالاتر از 500 هزار تومان است یا نه؟ در این‌صورت قطعه کدی شبیه به زیر خواهیم داشت:

is_vip = True
card_total = 620000

if is_vip and price > 500000:
    print("هزینه ارسال سبد خرید شما رایگانه")

در اپراتورهای پایتون، سه مورد برای عملیات منطقی در نظر گرفته شده است که دو تا برای ترکیب (و/یا) و یکی برای محاسبه نقیض یک عبارت boolean استفاده می‌شود.

عملگرتوضیحمثالنتیجه مثال
andهر دو شرط باید درست باشندTrue and FalseFalse
orحداقل یکی از شرط‌ها باید درست باشدTrue or FalseTrue
notنقیض یک مقدار منطقیnot TrueFalse

در حالت کلی، وقتی دو یا چند ساختار داریم که نتیجه آن‌ها Boolean (همان True/False) است و می‌خواهیم آن‌ها را ترکیب کنیم، از عملگرهای منطقی در پایتون استفاده می‌کنیم.

عملگرهای انتساب در پایتون

وقتی یک متغیر در پایتون تعریف می‌کنیم، در همان ابتدا و بعدها می‌توانیم مقدارش را تغییر دهیم. با استفاده از عملگرهای انتساب یا Assignment عملیات مقداردهی و به‌روزرسانی مقدار متغیرها را انجام می‌دهیم.

از ساده‌ترین حالت این عملگر که = است در قطعه کدهای قبلی نیز بارها و بارها استفاده کردم. می‌توانیم از برخی از عملگرهای تغییر مقدار (مثل عملگرهای ریاضی) به‌صورت ترکیبی با اپراتور انتساب استفاده کنیم.

در قطعه کد زیر، ابتدا یک متغیر را با علامت انتساب تعریف و مقداردهی کرده‌ام. سپس در خطوط دوم و سوم عباراتی نوشته‌ام که هر دو کار یکسانی را انجام می‌دهند:

x = 9
x = x -3
x -= 3

عملگرهای انتساب و عملگرهای ترکیبی با انتساب در پایتون در جدول زیر قرار داده شده‌اند.

عملگرعملیاتمثالمقدار نهایی X
=مقداردهیx = 5مساوی 5
+=جمع و انتسابx += 33 تا اضافه
-=تفریق و انتسابx -= 22 تا تفریق
*=ضرب و انتسابx *= 4ضرب در 4
/=تقسیم و انتسابx /= 2تقسیم بر 2

نکته: از برخی عملگرها نظیر عملگر + و * در کار با لیست پایتون و کار با رشته در پایتون نیز استفاده می‌شود.

  • از + بین دو لیست برای تجمیع اعضای آن‌ها و از * بین یک لیست و یک عدد برای تکرار لیست به تعداد مشخص استفاده می‌شود.
  • از + بین دو رشته برای اتصال یا concatenate و از * بین یک رشته و عدد برای تکرار رشته به تعداد مشخص استفاده می‌شود.

در این موارد، می‌توانیم از انواع عملگرهای پایتون برای انتساب ترکیبی نیز استفاده کنیم.

انواع عملگر عضویت یا Membership

از این عملگر در پایتون برای بررسی اینکه آیا یک مقدار در یک مجموعه (مثل لیست، رشته، تاپل یا set در پایتون) وجود دارد یا خیر استفاده می‌کنیم.

names = ["Nazanin", "Omid", "Kian", "Maryam"]

if "Omid" in names:
    print("شما جزء افراد تأییدشده هستید.")

به‌طور کلی عملگر in عضویت یک مقدار را در یک مجموعه (collection) بررسی می‌کند. اما با کمک عملگر نقیض (not) می‌توانیم عضو نبودن را نیز بررسی کنیم.

عملگرتوضیحمثالنتیجه مثال
inبررسی وجود مقدار در مجموعه"a" in "SabzDanesh"True
not inبررسی عدم وجود مقدار در مجموعه"z" not in "SabzDaneshTrue

عملگرهای بیتی در پایتون

این عملگرها برای عملیات سطح بیت (bit) استفاده می‌شوند و معمولاً در پردازش‌های سطح پایین (نزدیک به سخت‌افزار) یا مدیریت Flagها در روند برنامه‌نویسی کاربرد دارند.

به این دسته از اپراتورها اصطلاحاً عملگرهای بیت‌فیلد یا Bitwise Operators گفته می‌شود.

عملگرتوضیحمقالخروجی مثال
&AND بیتی3 & 51
|OR بیتی5 | 37
^XOR بیتی3 ^ 56
~NOT بیتی~5-6
<<شیفت به چپ5 << 110
>>شیفت به راست3 >> 11

عملگرهای شناسایی یا Identify

عملگرهای identify در پایتون بررسی می‌کنند که آیا دو متغیر دقیقاً به یک شیء (Object) مشابه اشاره دارند یا نه.

می‌دانید که در هنگام تعریف یک متغیر یا به‌طور کلی‌تر ایجاد یک شیء، یک فضا برای ذخیره‌ی مقدار مرتبط با آن در حافظه کامپیوتر (RAM) در نظر گرفته می‌شود. هر متغیر در حقیقت حاوی اشاره‌گر یا یک pointer به این بخش از حافظه است.

عملگر is که با عنوان عملگر شناسایی در پایتون شناخته می‌شود بررسی می‌کند که آیا دو متغیر (با نام‌های متفاوت) به یک مسیر یکسان در حافظه اشاره می‌کنند یا خیر. به کمک ترکیب این عملگر با not می‌توانیم یکسان نبودن را نیز بررسی کنیم.

a = [1, 3, 4]
b = a

print( a is b )   # True

به‌طور کلی دو حالت برای استفاده از این عملگر در پایتون داریم:

عملگرتوضیحمثالنتیجه مثال
isبررسی یکسان بودن هویتa is bTrue
is notبررسی یکسان نبودن هویتa is not bFalse

اگر با بحث شیء و کلاس آشنا نیستید، پیشنهاد می‌کنم آموزش کلاس در پایتون را حتماً ببینید.

در این آموزش تلاش کردم اکثر عملگرهای پایتون که کاربردی و مورداستفاده در پروژه‌های مختلف هستند را بررسی کنم. (جمعاً ۳۱ مورد) البته چند مورد از آن‌ها که خیلی کم استفاده هستند را مطرح نکردم. در صورت تمایل می‌توانید جدول تمام ۳۵ عملگر پایتون را در مستندات انگلیسی‌اش (+) ببینید.