نامساوی در پایتون چیست؟ – به زبان ساده
هنگامیکه درحال یادگیری مقدمات زبان برنامهنویسی پایتون هستید بهطور حتم با عملگرها روبهرو خواهید شد. انواع مختلفی از عملگرها در زبان برنامهنویسی پایتون وجود دارند. در این مطلب از مجله فرادرس، ما درباره عملگر نامساوی در پایتون از دسته عملگرهای مقایسهای، صحبت خواهیم کرد و چند مثال درباره نحوه کار این عملگر در برنامهنویسی خواهیم دید. در ابتدا، عملگرها و عملوندها را توضیح میدهیم و سپس نامساوی در پایتون را به طور کامل توضیح میدهیم. همچنین، نحوه استفاده در عبارتهای شرطی و در زمان مقایسه اشیا را بیان خواهیم کرد. در انتها نیز سوالات متداول پیرامون نامساوی در پایتون را مرور میکنیم.
عملگرها و عملوندها در پایتون
قبل از اینکه درباره عملگر نامساوی در پایتون صحبت کنیم باید ابتدا درباره عملگرها و عموندها یک درک کلی داشته باشیم. عملگرها، علامتهایی هستند که نمایانگر نوع خاصی از فعالیت یا پردازشاند. بهطور کلی در پایتون ۷ دسته عملگر داریم. انواع عملگرها در پایتون را در ادامه فهرست کردهایم.
- عملگرهای ریاضی یا حسابی در پایتون
- عملگرهای مقایسهای در پایتون
- عملگرهای منطقی در پایتون
- عملگرهای بیتی در پایتون
- عملگرهای انتسابی در پایتون
- عملگرهای هویتی در پایتون
- عملگرهای عضویت در پایتون
وظیفه عملگرها این است که عملیات خاصی روی مقادیر یا متغیرهای مشخصی انجام دهند. این مقادیر یا متغیرها به عنوان عملوند برای عملگرها شناخته میشوند. در نتیجه عملگرها عملیات خود را روی عملوندها انجام میدهند و مقداری را به عنوان نتیجه عملیات برمیگردانند. برای درک بیشتر، مثالی از عملگر نامساوی با علامت != را در زیر آوردهایم.
1firstNumber = 10
2secondNumber = 20
3
4print(firstNumber != secondNumber)
نتیجه اجرای عملیات بهصورت زیر خواهد بود.
True
در اینجا، != عملگر محسوب میشود و firstNumber و secondNumber عملوندهای آن هستند. همانطور که گفتیم، ۷ دسته عملگر داریم که از میان این ۷ دسته ما به عملگر =! از دسته مقایسهای خواهیم پرداخت.
عملگر نامساوی در پایتون
عملگر نامساوی در پایتون از نوع عملگرهای مقایسهای یا رابطهای است که تعداد دو یا بیشتری عملوند را با هم مقایسه میکند. اگر مقادیر مقایسه شده، مساوی نباشند مقدار True را بر میگرداند. اگر مقادیر مقایسه شده مساوی باشند مقدار False را برمیگرداند.
سینتکس عملگر نامساوی در پایتون
عملگر نامساوی در پایتون با دو سینتکس متفاوت نمایش داده میشود.
- != : این علامت برای عملگر نامساوی در پایتون نسخه ۲ و پایتون نسخه ۳ استفاده میشود.
- <> : از این عملگر برای نشان دادن نامساوی در «پایتون ۲» استفاده میشد که در «پایتون ۳» منسوخ شده است.
در حال حاضر، تنها از «علامت» (Symbol) != ، برای عملگر نامساوی در پایتون استفاده میشود.
نحوه مقایسه مقادیر عددی با عملگر =!
با مثالی شروع میکنیم که در آن ۲ متغیر تعریف کرده و سپس مقادیر آنها را با هم مقایسه میکنیم. توجه کنید هر دو متغیر ما از نوعداده یکسانی تشکیل شدهاند.
1a = 600
2b = 300
3
4print(a != b)
نتیجه اجرای این کد بهصورت زیر خواهد بود.
True
همانطور که انتظار میرفت عملیات بالا مقدار True را به عنوان پاسخ چاپ کرد. زیرا مقدار a با مقدار b برابر نیست. در مثال بعد چندین مقدار را باهم مقایسه خواهیم کرد.
1a = 600
2b = 300
3c = 300
4
5print(a != b & c)
نتیجه اجرای این کد بهصورت زیر خواهد بود.
True
اگر انتظار مقدار False را برای جواب داشتید، احتمالا سعی داشتید مقادیری را در حین مقایسه جمع ببندید. عملگر مقایسهای فقط میخواهد به مقادیر هر عملوند نگاه کند و بعد همه آنها را بدون اضافه کردن عملوندها به هم، با یکدیگر مقایسه میکند.
a و b و c را به عنوان بچههای سه قلو در نظر بگیرید، هر عدد نمایانگر صورت یک بچه است. حالا علامت != میگوید که «من مشاهداتم را انجام دادم و به این نتیجه رسیدم که هر سه بچه از لحاظ ظاهر صورت یکسان نیستند.» و این نتیجهگیری بطورکامل «صحیح» (True) است.
فقط وقتی که همه عملوندها یکسان باشند و از عملگر != استفاده شده باشد جوابی که به عنوان مقدار برمیگردد «غلط» (False) خواهد بود. لطفا به قطعه کد زیر و مقدار جواب توجه کنید.
1a = 600
2b = 600
3c = 600
4print(a != b & c)
نتیجه اجرای این کد بهصورت زیر خواهد بود.
False
در این مثال همه بچههای سه قلو ما، چهرهای کاملا شبیه به هم دارند اما عملگر != میگوید «اینکه همه بچه ها صورت یکسانی ندارند، غلط است»، چون صورتهایشان توسط عددی نمایش دادهمیشود که کاملا باهم مساویاند(۶۰۰). پس False برمیگرداند.
عملگر نامساوی با نوع داده های متفاوت
دراین مثال، مقادیر مشابه از نوعدادههای متفاوت را باهم مقایسه میکنیم تا ببینیم که عملگر نامساوی چهگونه کار میکند. به عنوان ورودی از نوعدادهای «صحیح» (Integer)، «اعشاری» (Float)، و «رشته» (String) استفاده میکنیم.
1A = 1
2B = 1.0
3C = "1"
4
5print(A!=B)
6print(B!=C)
7print(A!=C)
خروجی کد برابر با مقادیر زیر میشود.
False True True
نحوه مقایسه لیست ها با عملگر =!
در بخش قبلی مقادیر عددی را باهم مقایسه کردیم. دراین قسمت، لیستها را مقایسه خواهیم کرد. لیستها برای ذخیره تعداد مقادیر بیشتر از یک عدد در متغیرها استفاده میشوند. لطفا به مثال سادهای که در ادامه آمده توجه کنید.
1a = [2, 3]
2b = [2, 3]
3
4print(a != b)
نتیجه اجرای این کد بهصورت زیر خواهد بود.
False
همانطور که در قسمت قبل دیدیم چون هر دو لیست یکسان هستند، مقدار جواب منفی یا False است و اگر عملوندها با هم فرق میکردند حتما پاسخ صحیح یا True میبود.
برای درک بهتر ایده پاسخدهی عملگر != و جوابهایTrue و False که برمیگرداند، باید همیشه در ذهن داشته باشید که مقدار جواب True خواهد بود اگر عملوندها یکسان نباشند و False خواهد بود اگر عملوندها مقادیر یکسان داشته باشند.
عملگر نامساوی در پایتون != ، برای مقایسه رشتهها، دیکشنری، تاپل و مجموعه نیز کاربرد دارد.
نحوه استفاده از عمگر نامساوی =! در عبارت شرطی if
در موارد خاصی ممکن است ترجیح دهید که دستوری را بعد از سنجش بین دو متغیر اجرا کنید. مطابق مثالی که در ادامه آمده است.
1a = 21
2b = 10
3
4if ( a != b ):
5 print ("True. a is not equal to b")
6else:
7 print ("False. a is equal to b")
نتیجه اجرای این کد بهصورت زیر خواهد بود.
True. a is not equal to b
عبارت شرطی if بررسی میکند که مقادیر عملوندها مساوی نباشد و باتوجه به مقداری که نتیجه بررسی برمیگرداند پیامی را چاپ میکند. این مثال بسیار سادهای است. هرقدر که به عنوان برنامهنویس پایتون حرفهایتر شوید، میتوانید منطق پیچیدهتری را برای اجرای دستورات گوناگون با استفاده از دستور if در پایتون خود طراحی کنید.
استفاده از عملگر نامساوی در پایتون برای مقایسه اشیا
از عملگر نامساوی در پایتون برای مقایسه اشیا ساخته شده از کلاسها نیز میشود استفاده کرد. هر زمان که عملگر نامساوی در پایتون استفاده گردد، «دکوراتور» (Decorator) __ne__() فراخوانی میشود.
ما میتوانیم برای اینکه عملگر طبیعی نامساوی را کمی دستکاری کنیم این تابع را بازنویسی کنیم تا بتواند بین اشیا ساخته شده از کلاس ما هم عمل مقایسه را انجام دهد. لطفا بهمثالی که در ادامه از روش استفاده از این عملگر برای مقایسه اشیا در پایتون آمده، توجه کنید.
1class Student:
2
3 def __init__(self, name):
4 self.student_name = name
5
6 def __ne__(self, x):
7 # return true for different types
8 # of object
9 if type(x) != type(self):
10 return True
11
12 # return True for different values
13 if self.student_name != x.student_name:
14 return True
15 else:
16 return False
17
18s1 = Student("Shyam")
19s2 = Student("Raju")
20s3 = Student("babu rao")
21
22print(s1 != s2)
23print(s2 != s3)
نتیجه اجرای این کد بهصورت زیر خواهد بود.
True True
سوالات متداول
در انتها به برخی سوالات متداول پیرامون نامساوی در پایتون اشاره کردهایم.
علامت های =! و == در پایتون چیست؟
زمانی که میخواهید همسانی دو مقدار را بررسی کنید از عملگرهای برابری در پایتون میکنید. عملگر == مساوی بودن عملوندها را بررسی و عملگر =! نامساوی بودن عملوندها را بررسی میکند.
آیا عملگر <> به معنی نامساوی در پایتون است؟
از پایتون ۳ به بعد فقط عملگر =! معنای نامساوی میدهد و استفاده از عملگر <> منسوخ شده است. عملگر <> در پایتون ۲ استفاده میشد.
چگونه از عملگر نامساوی برای بررسی رشته ها استفاده می شود؟
عملگرهای == و =! به راحتی برابری را در رشته ها بررسی میکنند. برای بررسی نامساوی بود هم فقط از عملگر =! استفاده میشود. برای رشتههای به زبان انگلیسی میتوانیم اول رشتهها را به حروف بزرگ یا کوچک تبدیل کنیم و سپس بررسی کنیم.
جمع بندی
هدف از نگارش این مطلب در مجله فرادرس این بوده تا راهنمایی در مورد عملگر نامساوی در پایتون، یعنی =! باشد و مثالهای سادهای بیان شد تا کمک کند هرچه سادهتر و بهتر مطلب را درک کنید.
یاد گرفتید که عملگر نامساوی، یک عملگر مقایسهای و نه محاسباتی است. این عملگر، نابرابری بین عملوندها را بررسی میکند، در صورت نابرابری مقدار True و در صورت برابری عملوندها با هم، مقدار False را برمیگرداند. روی انواع مختلف داده کار میکند و برای کلاسها و اشیا هم با یک بازنویسی ساده دکوریتور میتوانیم از این عملگر استفاده کنیم.