پایتونمقدماتی۷ دقیقه مطالعهPython 3.12+

عملگرها

در این درس با عملگرهای حسابی، مقایسه‌ای، منطقی و تخصیص پایتون کار می‌کنید و اولویت اجرای آن‌ها را یاد می‌گیرید.

آنچه در این درس می‌آموزید

  • عملگرهای حسابی پایتون شامل تقسیم کامل و باقیمانده را به کار ببرید
  • با عملگرهای مقایسه و منطق عبارت‌های درست/غلط بسازید
  • اولویت عملگرها را پیش‌بینی کنید و در صورت نیاز پرانتز بگذارید
نویسنده: تیم داکنامه · بازبینی: ۲۰۲۶-۱۰-۳۰
فهرست مطالب
پیش‌نیاز: انواع داده

عملگر (Operator) نشانه‌ای است که بین مقادیر می‌نشیند و کاری با آن‌ها انجام می‌دهد: جمع، مقایسه، بررسی شرط و همین‌ها. هر عبارت پایتون ترکیبی از مقادیر و عملگرهاست و تسلط بر چند خانواده اصلی عملگرها یعنی توانایی نوشتن هر محاسبه‌ای که در ذهن دارید.

عملگرهای حسابی

شش عملگر حسابی پایتون را در یک برنامه ببینید:

arith.py
print(7 + 3, 7 - 3, 7 * 3)
print(7 / 2, 7 // 2, 7 % 2)
print(2 ** 10)
خروجی کد

10 4 21 3.5 3 1 1024

چهار تای اول آشنا هستند؛ سه مورد آخر را با دقت ببینید:

  • / تقسیم معمولی است و همیشه float می‌دهد؛ حتی وقتی جواب سرِ‌به‌سر درمی‌آید: 8 / 2 نتیجه‌اش 4.0 است.
  • // تقسیم کامل (بخش صحیح) است: 7 // 2 می‌شود 3.
  • % باقیمانده تقسیم است: 7 % 2 می‌شود 1.
  • ** توان است: 2 ** 10 یعنی ۱۰۲۴.

عملگر % در ظاهر ساده، در عمل پرکاربردترین است: زوج بودن با % 2 == 0، گرفتن رقم آخر عدد با % 10، و ساختن الگوی چرخه‌ای مثل «هر سومین مورد» همه با باقیمانده انجام می‌شوند.

عملگرهای مقایسه

مقایسه‌ها همیشه نتیجه bool می‌دهند: == (برابر)، != (نابرابر)، >، <، >= و <=:

python
print(5 == 5, 5 != 3, 4 > 10)
خروجی کد

True True False

یک راحتی خاص پایتون، مقایسه زنجیره‌ای است: به‌جای age >= 18 and age <= 40 می‌توانید بنویسید 18 <= age <= 40؛ در درس شرط‌ها از همین شکل استفاده می‌کنیم.

عملگرهای منطقی

سه عملگر and و or و not روی مقادیر bool کار می‌کنند:

logic.py
age = 20
has_id = True
print(age >= 18 and has_id)
print(not has_id)
خروجی کد

True False

  • and فقط وقتی درست است که هر دو طرف درست باشند؛ مثل شرط ورود: هم بزرگ‌سالی، هم کارت شناسایی.
  • or وقتی درست است که دست‌کم یک طرف درست باشد.
  • not درست و غلط را برمی‌گرداند: not True می‌شود False.

این سه عملگر همان ابزارهایی هستند که در درس شرط‌ها، تصمیم‌های ترکیبی برنامه را با آن‌ها می‌سازید.

میان‌برهای تخصیص

الگوی «متغیر را با خودش به‌روز کن» در درس متغیرها را دیدید: score = score + 5. پایتون برای هر عملگر حسابی یک شکل کوتاه دارد:

counter.py
count = 10
count += 3
count *= 2
print(count)
خروجی کد

26

count += 3 همان count = count + 3 است؛ یعنی ۳ اضافه کن. بعد count *= 2 همان count = count * 2 است. این شکل فقط کوتاه‌نویسی نیست؛ نیّت کد را هم روشن‌تر می‌کند: خواننده فوراً می‌فهمد این خط «به‌روزرسانی» است، نه محاسبه جدید.

عملگرها روی رشته‌ها

دو عملگر حسابی روی رشته‌ها هم معنا پیدا می‌کنند، اما با رفتار خودشان: + دو رشته را می‌چسباند و * رشته را تکرار می‌کند:

python
print("ab" * 3)
print("hel" + "lo")
خروجی کد

ababab hello

مراقب باشید: + روی رشته و عدد با هم کار نمی‌کند و TypeError می‌دهد؛ اگر عددی دارید و باید به متن بچسبد، اول با str آن را تبدیل کنید.

اولویت عملگرها

وقتی چند عملگر در یک عبارت هستند، پایتون با قاعده مشخصی ترتیب را انتخاب می‌کند: اول **، بعد ضرب‌ها (*، /، //، %)، بعد جمع‌ها (+، -) و آخر مقایسه و منطق. پرانتز از همه بالاتر است:

python
print(2 + 3 * 4)
print((2 + 3) * 4)
خروجی کد

14 20

در سطر اول اول ضرب انجام می‌شود (۳ ضرب در ۴) و بعد جمع؛ نتیجه ۱۴. با پرانتز، ترتیب را خودتان دیکته کرده‌اید؛ نتیجه ۲۰.

تمرین‌ها

تمرین

تمرین ۱ — تبدیل زمان

مدت ۳۶۷۱ ثانیه را در متغیر total نگه دارید و فقط با عملگرهای // و % بفهمید چند ساعت و چند دقیقه و چند ثانیه می‌شود؛ سپس با f-string جمله «1 ساعت و 1 دقیقه و 11 ثانیه» را چاپ کنید.

python
# Write your code here
نمایش راه‌حل
python
total = 3671
hours = total // 3600
minutes = (total % 3600) // 60
seconds = total % 60
print(f"{hours} hours and {minutes} minutes and {seconds} seconds")
خروجی کد

1 hours and 1 minutes and 11 seconds

::: :::

خلاصه

  • / همیشه float می‌دهد؛ // بخش صحیح و % باقیمانده تقسیم است.
  • % ابزار اصلی زوج و فرد، رقم آخر و الگوهای چرخه‌ای است.
  • عملگرهای مقایسه نتیجه bool می‌دهند و = تخصیص است نه مقایسه.
  • and و or و not شرط‌های ترکیبی می‌سازند؛ += و دوستانش به‌روزرسانی کوتاه‌اند.
  • روی رشته‌ها، + چسباندن و * تکرار است؛ و پرانتز بر اولویت عملگرها حکم می‌راند.

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

منابع و ارجاع‌ها

درس‌های مرتبط