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

في Python ، يمكنك استخدام عوامل التشغيل لا يساوي ويساوي للتحقق مما إذا كان لكائن بايثون نفس القيمة. سيعلمك هذا البرنامج التعليمي كيفية استخدام هذه العوامل مع الكثير من أمثلة التعليمات البرمجية.

ستتعلم في هذا البرنامج التعليمي:

  • صيغة عامل التشغيل وحالات الاستخدام لا يساوي (! =) ،
  • صيغة عامل التشغيل المتساوي (==) مع الأمثلة ، و
  • استخدام عوامل التشغيل هو وليس هو للتحقق من هوية أي كائنين في Python.

هيا بنا نبدأ.

صيغة عامل بايثون غير متساوية

بالنسبة لأي كائنين من كائنات Python ، obj1 و obj2 ، فإن الصيغة العامة لاستخدام عامل التشغيل غير المتكافئ هي:

<obj1> != <obj2>
  • تُرجع True عندما لا تتساوى قيم obj1 و obj2 ، و
  • إرجاع False خلاف ذلك.

ملاحظة: كما ذكرنا أعلاه ، يمكن أن تكون obj1 و obj2 أعدادًا صحيحة وأرقام فاصلة عائمة وسلاسل وقوائم وما إلى ذلك.

أمثلة على كود المشغل غير المتساوي في Python

في هذا القسم ، دعنا نبرمج بعض الأمثلة لفهم عامل التشغيل غير المتكافئ بشكل أفضل.

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

هذا هو مثالنا الأول.

num1 = 27
num2 = 3*9

num1 != num2

# Output: False

يمكنك تشغيل أمثلة التعليمات البرمجية على admingate.org Python IDE – مباشرة من المستعرض الخاص بك. أو يمكنك اختيار التشغيل على جهازك المحلي.

نظرًا لأن num1 = 27 ، ويتم تقييم num2 أيضًا إلى 27 (3 * 9 = 27) ، فإن قيم num1 و num2 متساوية. لذا فإن عامل التشغيل = يعيد خطأ.

لنأخذ مثالاً آخر.

في الكود أدناه ، يتم تعيين num1 إلى 7. ويتم تعيين num2 على السلسلة 7. نظرًا لأنهما من أنواع بيانات مختلفة ، فإن عامل التشغيل غير المتساوي يعيد صحيحًا.

num1 = 7 
num2 = "7" 
num1 != num2 

# Output: True

يمكنك تحويل السلسلة إلى عدد صحيح ، كما هو موضح:

num1 = 7
num2 = int("7")

num1 != num2

# Output: False

في هذه الحالة ، يمكنك أن ترى أن النتيجة التي تم إرجاعها هي False – حيث أن num1 و num2 تساوي الآن العدد الصحيح 7.

  ماذا يمكنني أن أفعل بجهاز iPhone القديم الخاص بي؟

يمكنك أيضًا استخدام عامل التشغيل لا يساوي مع مجموعات بايثون مثل القوائم ، والمجموعات ، والمجموعات.

ملاحظة: بالنسبة لمجموعات البيانات مثل القوائم ، يعمل عامل التشغيل لا يساوي عن طريق التحقق من قيم العناصر الفردية. على سبيل المثال ، قائمتان 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

في المثال أعلاه ، تختلف القائمة 1 والقائمة 2 في عنصر واحد فقط. و لا يساوي! = يعيد عامل التشغيل صحيحًا كما هو متوقع.

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

ستستخدم غالبًا عامل التشغيل لا يساوي كجزء من شروط بايثون.

على سبيل المثال ، يوضح مقتطف الشفرة أدناه كيف يمكنك التحقق مما إذا كان الرقم فرديًا أم لا.

الرقم الذي لا يقبل القسمة على 2 هو عدد فردي. وهذا يقلل من عدد الشرط٪ 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 خلاف ذلك.

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

يمكن استخدام عامل التشغيل المتساوي (==) بشكل مشابه جدًا لعامل التشغيل غير المتساوي.

  كيفية استخدام نقطة الاتصال الفورية على جهاز iPhone أو iPad أو Mac

دعنا نبرمج الأمثلة التالية:

  • للتحقق مما إذا كانت سلسلتان متساويتين ،
  • للتحقق مما إذا كان الرقم زوجيًا ، و
  • لاستخدام الشروط في قائمة الفهم

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

في مقتطف الشفرة أدناه ، يتساوى str1 و str2 من حيث القيمة. لذا فإن عامل التشغيل المتساوي (==) يعيد صحيحًا.

str1 = "coding"
str2 = "coding"

str1 == str2

# Output: True

عامل التشغيل المتساوي في بايثون

دعنا الآن نستخدم عامل التشغيل المتساوي في التعبير الشرطي.

ملاحظة: الرقم الذي يقبل القسمة على 2 هو زوجي. وفي الكود ، هذا يقلل من عدد الشرط٪ 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]

في المثال أعلاه ،

  • النطاق (10) يعيد كائن النطاق الذي يمكن أن يحلق عبره للحصول على جميع الأعداد الصحيحة من 0 إلى 9.
  • الشرط رقم٪ 2 == 0 صحيح للأرقام الزوجية فقط.
  • إذن حتى even_10 هي قائمة جميع الأعداد الزوجية الأقل من 10.

لقد تعلمت حتى الآن كيفية التحقق من المساواة باستخدام عامل التشغيل غير المتساوي (! =) والمساواة (==).

في القسم التالي ، ستتعلم كيفية التحقق من هوية كائنين. ستتحقق مما إذا كان كائنان من Python متطابقين.

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

إذا كنت مبتدئًا في برمجة Python ، فمن المحتمل أنك مرتبك بين == و is. دعنا نوضح ذلك في هذا القسم.

في القسم السابق ، كان لدينا مثال حيث كان str1 و str2 حيث كان يساوي و == أعاد العامل صحيح.

الآن قم بتشغيل مقتطف الشفرة التالي.

str1 = "coding" 
str2 = "coding" 

str1 is str2 

# Output: False

يمكنك أن ترى أن str1 هو أن str2 ترجع خطأ.

لنعد خطوة إلى الوراء ونفهم ما يفعله عامل بايثون.

يعمل العامل is على أي كائنين من كائنات Python.
ويعيد True فقط إذا كان الكائنان متطابقين – أي أنهما يشيران إلى نفس الكائن في الذاكرة.

  كيفية إنشاء أحداث الخلاف (سطح المكتب والجوال)

على الرغم من أن str1 تساوي str2 ، فإن str1 ليست str2 لأنها تشير إلى كائنين مختلفين في الذاكرة. وبالتالي ، لديهم هويات مختلفة.

== وليست هي نفسها

في Python ، يمكنك استخدام ملحق هوية شخصية() وظيفة للحصول على هوية الكائن.

▶ قم بتشغيل خلية الكود التالية للحصول على هويات str1 و str2.

id(str1)

# Sample output: 139935398870320

id(str2)

# Sample output: 139935398871344

كما ترى ، فإن str1 و str2 لهما هويات مختلفة. و str1 هو 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.

عامل التشغيل ليس يعمل على أي كائنين من كائنات بايثون.
وإرجاع False فقط إذا كان الكائنان متطابقين – أي أنهما يشيران إلى نفس الكائن في الذاكرة. خلاف ذلك ، فإنه يعيد صحيح.

في أمثلة الكود أعلاه ، حاول الاستبدال بـ is not وتحقق من النتائج.

الخلاصة 👩‍💻

آمل أن تكون قد وجدت هذا البرنامج التعليمي مفيدًا.

للتلخيص ، لقد تعلمت:

  • كيفية استخدام عوامل التساوي (==) وليس المتساوية (! =) للتحقق مما إذا كان كائني بايثون لهما نفس القيمة ،
  • الفرق بين المساواة وهوية كائنات بايثون ، و
  • كيف تكون لغة بايثون وليست عوامل تساعد في التحقق مما إذا كان كائنان من كائنات بايثون متطابقين.

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

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