تعريفها
تستخدم لمعرفة ما إذا كان الكلاس الذي نمرره مكان الباراميتر subclass
يرث من الكلاس الذي نمرره مكان الباراميتر superclass
أم لا.
ترجع True
في حال كان كذلك, و غير ذلك ترجع False
.
ملاحظة: في حال كان الكلاس الأول يرث بشكل مباشر أو غير مباشر من الكلاس الثاني فإنه يعتبر أنه يرث منه.
بناؤها
issubclass(subclass, superclass)
بارامترات
- مكان الباراميتر
subclass
نمرر إسم الكلاس الذي نريد أن نعرف إذا كان يرث من الكلاس الآخر. - مكان الباراميتر
superclass
نمرر إسم الكلاس الذي نريد أن نعرف إذا كان يوّرث الكلاس الآخر.
قيمة الإرجاع
ترجع True
في حال كان الكلاس الذي نمرره مكان الباراميتر subclass
يرث من الكلاس الذي نمرره مكان الباراميتر superclass
.
غير ذلك ترجع False
.
مثال
# A هنا قمنا بتعريف كلاس فارغ إسمه class A: pass # A و يرث من الكلاس B هنا قمنا بتعريف كلاس فارغ إسمه class B(A): pass # B و يرث من الكلاس C هنا قمنا بتعريف كلاس فارغ إسمه class C(B): pass # عدة مرات لمعرفة إن كان أول كلاس نمرره لها يرث من الكلاس الآخر و في كل مرة قمنا بطباعة النتيجة issubclass() هنا قمنا باستدعاء الدالة print('Is B inherit from A:', issubclass(B, A)) print('Is C inherit from B:', issubclass(C, B)) print('Is C inherit from A:', issubclass(C, A)) print('Is A inherit from B:', issubclass(A, B)) print('Is A inherit from C:', issubclass(A, C))
سنحصل على النتيجة التالية عند التشغيل.
Is C inherit from B: True
Is C inherit from A: True
Is A inherit from B: False
Is A inherit from C: False