Table of Contents
آشنایی با عملگرهای مقایسهای در پایتون
در این بخش با «عملگرهای مقایسهای» آشنا میشوید؛ یعنی نمادهایی که در شرطها (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)
مطمئن شوید دو مقداری که مقایسه میکنید «قابل مقایسه» هستند؛
مثلاً هر دو عدد باشند یا هر دو رشتهای که میدانید چه معنایی دارند.
اشتباهات رایج با عملگرهای مقایسهای
چند اشتباه که مبتدیها زیاد مرتکب میشوند:
- استفاده از
=بهجای==در شرطها
# اشتباه:
# if x = 5: # خطا
# درست:
if x == 5:
print("x برابر ۵ است")- فراموش کردن حساسیت به حروف بزرگ/کوچک در رشتهها
name = "Ali"
print(name == "ali") # False
print(name.lower() == "ali") # True- انتظار نتیجهٔ عددی بهجای
True/False
print(5 > 3) # خروجی: True (نه ۱ یا ۰)
در بخشهای بعدی، از همین عملگرهای مقایسهای داخل دستورهای if, elif, else استفاده خواهیم کرد تا برنامه بتواند «تصمیم بگیرد».