الفرق بين المراجعتين لصفحة: «Python/isinstance»
< Python
لا ملخص تعديل |
لا ملخص تعديل |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 17: | سطر 17: | ||
== القيمة المعادة == | == القيمة المعادة == | ||
* القيمة <code>True</code> إن كان الكائن نُسخة من الصّنف أو نسخة من أحد الأصناف الفرعيّة (سواء كان مُباشرًا، أو غير مباشرٍ، أو | * القيمة <code>True</code> إن كان الكائن نُسخة من الصّنف أو نسخة من أحد الأصناف الفرعيّة (سواء كان مُباشرًا، أو غير مباشرٍ، أو [https://docs.python.org/3/glossary.html#term-abstract-base-class ظاهريًّا]). والقيمة <code>False</code> إن لم يكن كذلك. | ||
== الاستثناءات == | == الاستثناءات == |
المراجعة الحالية بتاريخ 15:55، 26 مايو 2018
تعيد الدّالة isinstance()
قيمة منطقيّةً تُشير إلى ما إذا كان الكائن المُعطى نسخة (instance) من الصّنف المُعطى أم لا.
البنية العامة
isinstance(object, classinfo)
المعاملات
object
الكائن المرغوب التّحقّق من كونه نسخةً من الصّنف (أو النّوع) المُعطى.
classinfo
الصّنف أو النّوع المرغوب التّحقق من أنّ الكائن نسخة منه.
يُمكن كذلك أن يقبل صفًّا (أو عدّة صفوف) من الأصناف أو الأنواع للتحقّق من أنّ الكائن نُسخة من أحدها.
القيمة المعادة
- القيمة
True
إن كان الكائن نُسخة من الصّنف أو نسخة من أحد الأصناف الفرعيّة (سواء كان مُباشرًا، أو غير مباشرٍ، أو ظاهريًّا). والقيمةFalse
إن لم يكن كذلك.
الاستثناءات
- يُطلق استثناء TypeError إن لم تكن قيمة المُعامل
classinfo
نوعًا أو صفّ أنواعٍ أو عدّة صفوف من هذه الصّفوف.
أمثلة
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
>>> isinstance(1, int) # عدد صحيح نسخة من نوع الأعداد الصّحيحة
True
>>> isinstance(1.0, int) # العدد ليس صحيحًا بل عشري
False
>>> isinstance(1.0, (int, float))
True
>>> class A: # صنف
... pass
...
>>> class B(A): # صنف وارث
... pass
...
>>> a = B() # كائن من الصّنف الوارث
>>> isinstance(a, B) # الكائن نسخة من صنفه
True
>>> isinstance(a, A) # الكائن نسخة من الصّنف الأب لصنفه
True