• 0

ما الفرق بين is None و ==None في بايثون؟

هل هنالك فرق بين الصيغتين is None و ==None في بايثون لمعرفة ما إذا كان الكائن فارغ أم لا؟ لأنه حسب الأمثلة لا أرى أية فوارق بينهم.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

في هذه الحالة، يقومان بنفس الوظيفة، لكن هنالك فرق بينهم، لأن is تُستخدم لاختبار ما إذا كان الكائن هو نفس الكائن في حين أن == تُستخدم لمقارنة القيم ما إذا كانت متساوية أما لا كما في المثال التالي:

p = [1]
q = [1]
p is q # False because they are not the same actual object
p == q # True because they are equivalent

وبما أنه هنالك None واحدة، فسيتم إرجاع true في هذه الحالة كما في المثال التالي:

p = None
q = None
p is q # True because they are both pointing to the same "None"

يُنصح باستخدام is None بشكل عام كقاعدة على الرغم من أن هذه المقارنة نادرة نوعا ما في بايثون.

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن