is التحقق من الهوية
آخر تحديث: 2026-09-22
is التحقق من الهوية
is يتحقق مما إذا كان المرجعان يشيران إلى الكائن نفسه (نفس id).
| التصنيف | العوامل |
|---|---|
| النوع | عامل |
| إصدار بايثون | all |
📝 الصياغة
a is b
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
True
False
💡 تلميح استخدم is None / is not None؛ لا تستخدم == لمقارنة None.
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qلماذا تكون نتيجة `is` غير مستقرة عند مقارنة الأعداد الصحيحة؟
Aيخزّن CPython الأعداد الصحيحة الصغيرة مؤقتًا (-5 إلى 256)، لذا تكون القيم الحرفية المتطابقة عادةً نفس الكائن. خارج هذا النطاق، لا يُضمن إعادة استخدام الكائنات وقد يختلف حسب التنفيذ وتحسينات المحوّل. استخدم `==` دائمًا لمقارنة الأعداد.
Qمتى يجب أن أستخدم `is`؟
Aفي سيناريوهين فقط: فحص `None` (`x is None` / `x is not None`)، ومقارنة `True`/`False` أو الكائنات المفردة المخصصة. لمقارنة تساوي المحتوى، استخدم `==` دائمًا.
Qعندما لا تنفّذ فئة مخصصة `__eq__`، هل `==` و`is` متطابقان؟
Aنعم. يتحلّل `==` الافتراضي إلى مقارنة الهوية (المكافئ لـ `is`). لكن بمجرد تعريف `__eq__`، قد يختلفان.