Kahibaro
Discord Login Register

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

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

در این بخش با «عملگرهای مقایسه‌ای» آشنا می‌شوید؛ یعنی نمادهایی که در شرط‌ها (if) برای مقایسهٔ دو مقدار استفاده می‌کنیم و نتیجهٔ آن‌ها همیشه یک مقدار بولی (True یا False) است.

فهرست عملگرهای مقایسه‌ای اصلی

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

هر مقایسه یک عبارت می‌سازد که نتیجهٔ آن $True$ یا $False$ است.

مثال ساده:

print(5 > 3)    # True
print(5 < 3)    # False
print(5 == 5)   # True
print(5 != 5)   # False

توضیح هر عملگر با مثال

۱. عملگر `==` (مساوی بودن)

برای بررسی برابر بودن دو مقدار استفاده می‌شود.

print(10 == 10)    # True
print(10 == 7)     # False
print("ali" == "ali")   # True
print("ali" == "Ali")   # False (حساس به حروف بزرگ و کوچک)

دقت کنید: = و == با هم فرق دارند:

x = 5       # انتساب
print(x == 5)  # مقایسه → True

۲. عملگر `!=` (نامساوی بودن)

بررسی می‌کند که دو مقدار «مساوی نیستند».

print(10 != 7)    # True
print(10 != 10)   # False
print("cat" != "dog")   # True
print("cat" != "cat")   # False

۳. عملگر `>` (بزرگ‌تر بودن)

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

print(8 > 3)    # True
print(3 > 8)    # False
age = 20
print(age > 18)  # True

۴. عملگر `<` (کوچک‌تر بودن)

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

print(2 < 10)   # True
print(10 < 2)   # False
temperature = 15
print(temperature < 0)  # False

۵. عملگر `>=` (بزرگ‌تر یا مساوی)

اگر مقدار سمت چپ «بزرگ‌تر از یا برابر با» مقدار سمت راست باشد، نتیجه True است.

print(5 >= 3)   # True (چون ۵ > ۳)
print(5 >= 5)   # True (چون ۵ == ۵)
print(5 >= 7)   # False

۶. عملگر `<=` (کوچک‌تر یا مساوی)

اگر مقدار سمت چپ «کوچک‌تر از یا برابر با» مقدار سمت راست باشد، نتیجه True است.

print(3 <= 5)   # True (چون ۳ < ۵)
print(5 <= 5)   # True (چون ۵ == ۵)
print(7 <= 5)   # False

مقایسهٔ اعداد

مقایسهٔ اعداد (int و float) مستقیم و سرراست است:

print(3 == 3.0)     # True  → از نظر مقدار برابرند
print(3 is 3.0)     # از 'is' فعلاً استفاده نکنید؛ برای مبتدی‌ها گیج‌کننده است
print(10 > 2.5)     # True
print(2.5 >= 2.5)   # True

به این نکته فقط توجه کنید که 3 == 3.0 در پایتون True است، چون مقدار عددی آن‌ها برابر است.

مقایسهٔ رشته‌ها (متن‌ها)

رشته‌ها (str) هم قابل مقایسه هستند.

برابری و نابرابری

print("hello" == "hello")   # True
print("hello" == "Hello")   # False → حساس به حروف بزرگ و کوچک
print("ali" != "reza")      # True

بزرگ‌تر و کوچک‌تر روی رشته‌ها

در پایتون، برای رشته‌ها نیز می‌توان از < و > استفاده کرد؛ مقایسه بر اساس «ترتیب حروف» در جدول یونیکد است. برای شروع، کافی است بدانید:

print("a" < "b")     # True
print("ali" < "zara")  # True (اولین حرف 'a' < 'z')
print("Ali" < "ali")   # True در بیشتر محیط‌ها (چون 'A' قبل از 'a' است)

در برنامه‌های واقعی، برای مقایسهٔ بدون حساسیت به حروف بزرگ/کوچک، معمولاً متن را به یک حالت یکنواخت تبدیل می‌کنند:

name = "Ali"
print(name.lower() == "ali")   # True

(تابع lower() در فصل رشته‌ها توضیح داده می‌شود؛ فعلاً فقط ایده را ببینید.)

نتیجهٔ مقایسه: نوع `bool`

همهٔ عملگرهای مقایسه‌ای مقدار بولی برمی‌گردانند (True یا False):

x = 10
y = 3
result1 = x > y
result2 = x == y
print(result1)       # True
print(result2)       # False
print(type(result1)) # <class 'bool'>

این مقادیر بولی بعداً در شرط‌ها (if, elif, else) استفاده می‌شوند.

مثال‌های سادهٔ ترکیب متغیر و مقایسه

مثال ۱: بررسی سن

age = 18
is_adult = age >= 18
print(is_adult)   # True

مثال ۲: بررسی رمز عبور (خیلی ساده)

password = "1234"
print(password == "0000")  # False
print(password != "0000")  # True

زنجیره‌کردن مقایسه‌ها (مقداری پیشرفته‌تر ولی مفید)

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

$$
a < b < c
$$

یعنی:

$$
(a < b) \text{ و } (b < c)
$$

مثال:

x = 5
print(1 < x < 10)   # True، یعنی ۱ < x و x < ۱۰
y = 20
print(1 < y < 10)   # False

این نوع نوشتن مخصوص پایتون است و در شرط‌ها کد را خواناتر می‌کند.

مقایسهٔ نوع‌های ناهماهنگ (نکتهٔ احتیاط)

به‌طور معمول، نباید نوع‌هایی که منطقی نیست با هم مقایسه کنید؛ مثلاً عدد و رشته:

# print(5 < "3")   # این در پایتون خطا می‌دهد (TypeError)

مطمئن شوید دو مقداری که مقایسه می‌کنید «قابل مقایسه» هستند؛
مثلاً هر دو عدد باشند یا هر دو رشته‌ای که می‌دانید چه معنایی دارند.

اشتباهات رایج با عملگرهای مقایسه‌ای

چند اشتباه که مبتدی‌ها زیاد مرتکب می‌شوند:

  1. استفاده از = به‌جای == در شرط‌ها
   # اشتباه:
   # if x = 5:    # خطا
   # درست:
   if x == 5:
       print("x برابر ۵ است")
  1. فراموش کردن حساسیت به حروف بزرگ/کوچک در رشته‌ها
   name = "Ali"
   print(name == "ali")  # False
   print(name.lower() == "ali")  # True
  1. انتظار نتیجهٔ عددی به‌جای True/False
   print(5 > 3)   # خروجی: True (نه ۱ یا ۰)

در بخش‌های بعدی، از همین عملگرهای مقایسه‌ای داخل دستورهای if, elif, else استفاده خواهیم کرد تا برنامه‌ بتواند «تصمیم بگیرد».

Views: 7

Comments

Please login to add a comment.

Don't have an account? Register now!