كيفية استخدام عوامل تشغيل بايثون غير متساوية ومتساوية
نشرت: 2022-01-29في Python ، يمكنك استخدام عوامل التشغيل لا يساوي ويساوي للتحقق مما إذا كان لكائن بايثون نفس القيمة. سيعلمك هذا البرنامج التعليمي كيفية استخدام هذه العوامل مع الكثير من أمثلة التعليمات البرمجية.
ستتعلم في هذا البرنامج التعليمي:
- صيغة عامل التشغيل وحالات الاستخدام لا يساوي (
!=
) ، - صيغة عامل التشغيل المتساوي (
==
) مع الأمثلة ، و - استخدام عوامل التشغيل
is
is not
للتحقق من هوية أي كائنين من كائنات Python.
هيا بنا نبدأ.
صيغة عامل بايثون غير متساوية
بالنسبة إلى أي كائنين من كائنات Python ، obj1
و obj2
، فإن الصيغة العامة لاستخدام عامل التشغيل غير المتكافئ هي:
<obj1> != <obj2>
- تُرجع
True
عندما لا تتساوى قيمobj1
وobj2
، و - إرجاع
False
خلاف ذلك.
ملاحظة : كما ذكرنا أعلاه ، يمكن أن يكون
obj1
وobj2
أعدادًا صحيحة وأرقام فاصلة عائمة وسلاسل وقوائم وما إلى ذلك.
أمثلة على كود المشغل غير المتساوي في Python
في هذا القسم ، دعنا نبرمج بعض الأمثلة لفهم عامل التشغيل غير المتكافئ بشكل أفضل.
استخدام معامل بايثون غير متساوي للمقارنة
هذا هو مثالنا الأول.
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
يمكنك تشغيل أمثلة التعليمات البرمجية على Geekflare Python IDE - مباشرة من المستعرض الخاص بك. أو يمكنك اختيار التشغيل على جهازك المحلي.
نظرًا لأن num1 = 27
، و num2
يتم تقييمه أيضًا إلى 27
( 3*9 = 27
) ، فإن قيم num1
و num2
متساوية. لذا فإن عامل التشغيل !=
يعيد False
.
لنأخذ مثالاً آخر.
في الكود أدناه ، يتم تعيين num1
إلى 7. ويتم تعيين num2
على السلسلة 7. نظرًا لأنهما من أنواع بيانات مختلفة ، فإن عامل التشغيل غير المتساوي يُرجع True
.
num1 = 7 num2 = "7" num1 != num2 # Output: True
يمكنك تحويل السلسلة إلى عدد صحيح ، كما هو موضح:
num1 = 7 num2 = int("7") num1 != num2 # Output: False
في هذه الحالة ، يمكنك أن ترى أن النتيجة التي تم إرجاعها هي False
- لأن num1
و num2
تساوي الآن العدد الصحيح 7.
يمكنك أيضًا استخدام عامل التشغيل لا يساوي مع مجموعات بايثون مثل القوائم ، والمجموعات ، والمجموعات.
ملاحظة : بالنسبة لمجموعات البيانات مثل القوائم ، يعمل عامل التشغيل لا يساوي عن طريق التحقق من قيم العناصر الفردية. على سبيل المثال ، قائمتان
list1
وlist2
- كل قائمة بطولn
- تتساوى فقط إذا كانتlist1[i] == list2[i]
لـi
في{0,1,2,3,..n-1}
.
هذا مثال:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
في المثال أعلاه ، تختلف القائمة list1
list2
في عنصر واحد فقط. و لا يساوي !=
إرجاع عامل التشغيل True
كما هو متوقع.
استخدام عامل تشغيل بايثون غير متساوٍ في الحالة الشرطية
ستستخدم غالبًا عامل التشغيل لا يساوي كجزء من شروط بايثون.
على سبيل المثال ، يوضح مقتطف الشفرة أدناه كيف يمكنك التحقق مما إذا كان الرقم فرديًا أم لا.
الرقم الذي لا يقبل القسمة على 2 هو عدد فردي . وهذا يقلل من عدد الشرط
num%2 != 0
.
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.
يمكنك أيضًا استخدام الشروط في قوائم الإدراك عندما تريد الاحتفاظ فقط بعناصر القائمة التي تفي بشرط معين. في المثال أدناه ، odd_10
هي قائمة بجميع الأعداد الفردية الأقل من 10.
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
وهذا يكمل مناقشتنا لعامل التشغيل لا يساوي ( !=
).
كما قد تكون خمنت الآن ، ينتج عن عامل التشغيل يساوي التأثير المعاكس لعامل التشغيل لا يساوي .
ستتعلم المزيد عنها في القسم التالي.
صيغة عامل التشغيل المتساوي في بايثون
إليك الصيغة المستخدمة في استخدام مساوٍ لـ Python:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
- تُرجع
True
عندما تكون قيمobj1
وobj2
متساوية ، و - إرجاع
False
خلاف ذلك.
أمثلة على كود عامل التشغيل المتساوي في Python
يمكن استخدام عامل التشغيل المتساوي ( ==
) بشكل مشابه جدًا لعامل التشغيل غير المتساوي .
دعنا نبرمج الأمثلة التالية:
- للتحقق مما إذا كانت هناك سلسلتان متساويتان ،
- للتحقق مما إذا كان الرقم زوجيًا و
- لاستخدام الشروط في قائمة الفهم
استخدام معامل بايثون غير متساوي للمقارنة
في مقتطف الشفرة أدناه ، تتساوى str1
و str2
من حيث القيمة. لذا فإن عامل التشغيل المتساوي ( ==
) يعيد True
.

str1 = "coding" str2 = "coding" str1 == str2 # Output: True

دعنا الآن نستخدم عامل التشغيل المتساوي في التعبير الشرطي.
ملاحظة : الرقم الذي يقبل القسمة على 2 هو رقم زوجي . وفي الكود ، هذا يقلل من عدد الشرط
num%2 == 0
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.
دعنا الآن نبني على هذا المثال ، نستخدم قائمة فهم بايثون للحصول على جميع الأرقام الزوجية الأقل من 10.
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
في المثال أعلاه ،
-
range(10)
يعيد كائن النطاق الذي يمكن تكراره للحصول على جميع الأعداد الصحيحة من 0 إلى 9. - الشرط
num%2 == 0
True
للأرقام الزوجية فقط. - لذا حتى
even_10
هي قائمة جميع الأعداد الزوجية الأقل من 10.
لقد تعلمت حتى الآن كيفية التحقق من المساواة باستخدام عوامل التشغيل غير المتساوية ( !=
) والمساواة ( ==
).
في القسم التالي ، ستتعلم كيفية التحقق من هوية كائنين. ستتحقق مما إذا كان كائنان من Python متطابقين .
كيفية استخدام بايثون هي عوامل تشغيل وليست كذلك
إذا كنت مبتدئًا في برمجة Python ، فمن المحتمل أنك مرتبك بين ==
و is
. دعنا نوضح ذلك في هذا القسم.
في القسم السابق ، كان لدينا مثال حيث كان str1
و str2
حيث كان يساوي و ==
أعاد العامل True
.
الآن قم بتشغيل مقتطف الشفرة التالي.
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
يمكنك أن ترى أن str1 is str2
False
.
لنعد خطوة إلى الوراء ونفهم ما يفعله is
بايثون.
يعمل العامل
is
على أي كائنين من كائنات Python.
ويعيدTrue
فقط إذا كان الكائنان متطابقين - أي أنهما يشيران إلى نفس الكائن في الذاكرة.
على الرغم من أن str1
تساوي str2
، فإن str1
ليست str2
لأنها تشير إلى كائنين مختلفين في الذاكرة. وبالتالي ، لديهم هويات مختلفة.

في Python ، يمكنك استخدام الوظيفة id()
للحصول على هوية الكائن.
قم بتشغيل خلية التعليمات البرمجية التالية للحصول على هويات str1
و str2
.
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
كما ترى ، فإن str1
و str2
لهما هويات مختلفة. و str1 is str2
يعيد False
كما هو متوقع.
جمعها معًا ،
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
دعنا نتحقق من ذلك بسرعة ، كما هو موضح:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
حدسيًا ، العامل is not
يفعل عكس عامل is
.
عامل التشغيل
is not
يعمل على أي كائنين من كائنات بايثون.
وإرجاعFalse
فقط إذا كان الكائنان متطابقين - أي أنهما يشيران إلى نفس الكائن في الذاكرة. خلاف ذلك ، فإنه يعيدTrue
.
في أمثلة الكود أعلاه ، حاول الاستبدال بـ is
is not
وتحقق من النتائج.
استنتاج
آمل أن تكون قد وجدت هذا البرنامج التعليمي مفيد.
للتلخيص ، لقد تعلمت:
- كيفية استخدام عوامل التساوي (
==
) وليس المتساوية (!=
) للتحقق مما إذا كان كائني بايثون لهما نفس القيمة ، - الفرق بين المساواة وهوية كائنات بايثون ، و
- كيف تكون لغة بايثون وما
is
is not
عوامل تشغيل تساعد في التحقق مما إذا كان كائنان من كائنات بايثون متطابقين.
تعرف على كيفية حساب فارق التوقيت أو عمل لعبة ثعبان في بيثون هنا.
نراكم جميعا في البرنامج التعليمي القادم. حتى ذلك الحين ، استمتع بالتعلم والبرمجة!