isinstance()
فحص نوع الكائن — isinstance() isinstance()
isinstance() تتحقّق إن كان كائن معيّن من نوع محدّد (أو من نوع فرعي له)، وتُرجع True أو False.
الطريقة القياسية لفحص نوع البيانات في بايثون قبل تنفيذ عملية تعتمد عليه. تدعم فحص عدة أنواع دفعة واحدة بتمرير tuple من الأنواع.
بعكس المقارنة المباشرة type(x) == SomeClass، تتعامل isinstance بشكل صحيح مع الوراثة: كائن من صنف فرعي يُعتبر أيضًا من نوع الصنف الأب.
الصياغة
isinstance(object, classinfo)
📄 مثال
print(isinstance(5, int)) # True
print(isinstance(5.0, (int, float))) # True
print(isinstance("نص", int)) # Falseأهم المعاملات
| المعامل | الوظيفة |
|---|---|
| object | الكائن المراد فحصه |
| classinfo | نوع واحد، أو صف (tuple) من الأنواع للفحص ضد أي منها |
💡 نصائح عملية
- مرّر classinfo=(int, float) لفحص أكثر من نوع دفعة واحدة بسطر واحد
- فضّلها دائمًا على type(x) == y لأنها تتعامل بشكل صحيح مع الأصناف الفرعية (subclasses)
⚠️ أخطاء شائعة
- استخدام type(x) == SomeClass بدل isinstance فيفشل الفحص مع الأصناف الفرعية
- نسيان أن bool نوع فرعي من int، فـ isinstance(True, int) تُرجع True
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PYTHON الكامل بالعربي.