بايثونالدالة issubclass()
تعريفها
تستخدم لمعرفة ما إذا كان الكلاس الذي نمرره مكان الباراميتر subclass
يرث من الكلاس الذي نمرره مكان الباراميتر superclass
أم لا.
في حال كان الكلاس الأول يرث بشكل مباشر أو غير مباشر من الكلاس الثاني فإنه يعتبر أنه يرث منه.
بناؤها
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