كيفية استخدام عوامل تشغيل بايثون غير متساوية ومتساوية

نشرت: 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 عوامل تشغيل تساعد في التحقق مما إذا كان كائنان من كائنات بايثون متطابقين.

تعرف على كيفية حساب فارق التوقيت أو عمل لعبة ثعبان في بيثون هنا.

نراكم جميعا في البرنامج التعليمي القادم. حتى ذلك الحين ، استمتع بالتعلم والبرمجة!