بی آکادمی
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
آموزش SQL
آموزش MySQL
آموزش PHP
آموزش لاراول
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
گیت و گیت هاب
آموزش پایتون
هوش مصنوعی
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل

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


🎯 اهداف یادگیری

  • درک مفهوم عملگرهای مقایسه‌ای و کاربرد آنها
  • شناخت انواع عملگرهای مقایسه‌ای در پایتون
  • یادگیری مقایسه اعداد، رشته‌ها و سایر انواع داده
  • آشنایی با زنجیره‌ای کردن مقایسه‌ها
  • یادگیری تفاوت بین عملگرهای "==" و "is"

📌 مقدمه‌ای بر عملگرهای مقایسه‌ای

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


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

پایتون عملگرهای مقایسه‌ای مختلفی را ارائه می‌دهد:

python
# عملگر تساوی (==)
a, b = 5, 5
print(a == b) # خروجی: True
# عملگر نامساوی (!=)
x, y = 10, 20
print(x != y) # خروجی: True
# عملگر بزرگ‌تر از (>)
print(15 > 10) # خروجی: True
# عملگر کوچک‌تر از (<)
print(8 < 12) # خروجی: True
# عملگر بزرگ‌تر یا مساوی (>=)
print(10 >= 10) # خروجی: True
# عملگر کوچک‌تر یا مساوی (<=)
print(5 <= 7) # خروجی: True

جدول عملگرهای مقایسه‌ای:

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

📌 مقایسه رشته‌ها و سایر انواع داده

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

python
# مقایسه رشته‌ها (بر اساس ترتیب الفبایی)
print("apple" < "banana") # خروجی: True
print("apple" == "Apple") # خروجی: False (حساس به حروف بزرگ و کوچک)
# مقایسه بولین‌ها
print(True == False) # خروجی: False
print(True != False) # خروجی: True
# مقایسه لیست‌ها
list1, list2 = [1, 2, 3], [1, 2, 4]
print(list1 == list2) # خروجی: False

نکات مهم در مقایسه رشته‌ها:

  • ترتیب الفبایی: رشته‌ها بر اساس کدهای ASCII/Unicode مقایسه می‌شوند
  • حساسیت به حروف: مقایسه رشته‌ها به بزرگی و کوچکی حروف حساس است
  • مقایسه طول: ابتدا حرف اول مقایسه می‌شود، اگر مساوی بود به حرف بعدی می‌رود

📌 زنجیره‌ای کردن مقایسه‌ها

در پایتون می‌توان چندین مقایسه را به صورت زنجیره‌ای انجام داد:

python
# مقایسه زنجیره‌ای
x = 10
print(5 < x < 15) # خروجی: True (معادل 5 < x and x < 15)
age = 25
print(18 <= age <= 30) # خروجی: True
# مقایسه زنجیره‌ای پیچیده‌تر
a, b, c = 5, 10, 15
print(a < b < c) # خروجی: True

مزایای مقایسه زنجیره‌ای:

  • خوانایی بیشتر: کد تمیزتر و قابل فهم‌تر می‌شود
  • کارایی بهتر: در برخی موارد از ارزیابی اضافی جلوگیری می‌کند
  • کاهش خطا: احتمال خطای منطقی کاهش می‌یابد

📌 تفاوت بین "==" و "is"

یکی از نکات مهم در پایتون تفاوت بین عملگر "==" (بررسی تساوی مقدار) و "is" (بررسی یکسان بودن شیء) است:

python
# مقایسه با == (تساوی مقدار)
list1 = [1, 2, 3]
list2 = [1, 2, 3]
list3 = list1
print(list1 == list2) # خروجی: True (مقادیر یکسان هستند)
print(list1 is list2) # خروجی: False (اشیاء متفاوت هستند)
print(list1 is list3) # خروجی: True (هر دو به یک شیء اشاره می‌کنند)
# استثنا: اعداد کوچک و رشته‌های کوتاه (بهینه‌سازی پایتون)
a = 5
b = 5
print(a is b) # خروجی: True (بهینه‌سازی پایتون برای اعداد کوچک)

تفاوت‌های کلیدی:

  • == (تساوی): بررسی می‌کند که آیا مقادیر دو شیء یکسان هستند
  • is (هویت): بررسی می‌کند که آیا دو متغیر به یک شیء در حافظه اشاره می‌کنند
  • کاربرد is: معمولاً برای مقایسه با None استفاده می‌شود (if x is None)

📌 مقایسه با مقدار None

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

python
x = None
y = 5
# روش صحیح
if x is None:
print("x مقدار ندارد")
# روش نادرست (اگر x کلاس داشته باشد که __eq__ را بازنویسی کرده باشد)
if x == None:
print("این روش توصیه نمی‌شود")
# بررسی عدم وجود مقدار
if y is not None:
print("y مقدار دارد")

📌 تمرین‌های عملی

حالا نوبت شماست! کدهای زیر را بررسی کنید و نتیجه را پیش‌بینی کنید:

python
# تمرین ۱
a = 10
b = 5 * 2
print(a == b)
# تمرین ۲
name1 = "Python"
name2 = "python"
print(name1 != name2)
# تمرین ۳
x = 15
print(10 < x <= 20)