التحقق من الهوية
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 26 من 78.
في لغة بايثون، تُستخدم المعاملات is و is not للتحقق من هوية الكائنات. وعلى عكس المعامل ==، الذي يتحقق مما إذا كان لمتغيرين نفس القيمة، فإن المعامل is يتحقق مما إذا كان المتغيران يشيران إلى نفس الكائن تماماً في الذاكرة.
الاستخدام الأساسي لـ is:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # النتيجة: True
print(a is c) # النتيجة: Falseفي هذا المثال، يشير a و b إلى نفس كائن القائمة، لذا فإن a is b تُرجع True. ومع ذلك، فإن a و c هما كائنان مختلفان للقائمة بنفس القيم، لذا فإن a is c تُرجع False.
الاستخدام الأساسي لـ is not:
x = 5
y = 5
z = 10
print(x is not y) # المخرجات: False
print(x is not z) # المخرجات: Trueهنا، يشير x و y إلى نفس كائن العدد الصحيح (بسبب تحسينات Python للأعداد الصحيحة الصغيرة)، لذا فإن x is not y يعيد False. x و z هما كائنان مختلفان، لذا فإن x is not z يعيد True.
تُعد فحوصات الهوية (Identity checks) مفيدة بشكل خاص عندما تريد تحديد ما إذا كان متغيران يشيران إلى نفس الكائن في الذاكرة، بدلاً من مجرد امتلاك نفس القيمة.
التحدي
سهلقم بإنشاء متغيرين، list1 و list2، حيث:
list1يشير إلى قائمة[1, 2, 3].list2يتم تعيينه لنفس الكائن.
استخدم عامل التشغيل is للتحقق مما إذا كان list1 و list2 يشيران إلى نفس الكائن.
استخدم عامل التشغيل is not للتحقق مما إذا كان list1 و list2 يشيران إلى كائنات مختلفة.
اطبع نتائج عمليات التحقق.
ورقة مرجعية
تتحقق عوامل التشغيل is و is not من هوية الكائن في الذاكرة، وليس فقط تساوي القيم مثل ==.
استخدام is للتحقق مما إذا كانت المتغيرات تشير إلى نفس الكائن:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # المخرج: True
print(a is c) # المخرج: Falseاستخدام is not للتحقق مما إذا كانت المتغيرات تشير إلى كائنات مختلفة:
x = 5
y = 5
z = 10
print(x is not y) # المخرج: False
print(x is not z) # المخرج: Trueتحدد فحوصات الهوية ما إذا كان متغيران يشيران إلى نفس الكائن في الذاكرة، وليس فقط ما إذا كان لهما نفس القيمة.
جرّب بنفسك
# اكتب الكود هنايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق