بايثون الدالة issubclass()

تعريفها

تستخدم لمعرفة ما إذا كان الكلاس الذي نمرره مكان الباراميتر subclass يرث من الكلاس الذي نمرره مكان الباراميتر superclass أم لا.
ترجع True في حال كان كذلك, و غير ذلك ترجع False.

ملاحظة: في حال كان الكلاس الأول يرث بشكل مباشر أو غير مباشر من الكلاس الثاني فإنه يعتبر أنه يرث منه.



بناؤها

issubclass(subclass, superclass)
	


بارامترات

  • مكان الباراميتر subclass نمرر إسم الكلاس الذي نريد أن نعرف إذا كان يرث من الكلاس الآخر.
  • مكان الباراميتر superclass نمرر إسم الكلاس الذي نريد أن نعرف إذا كان يوّرث الكلاس الآخر.


قيمة الإرجاع

ترجع True في حال كان الكلاس الذي نمرره مكان الباراميتر subclass يرث من الكلاس الذي نمرره مكان الباراميتر superclass.
غير ذلك ترجع False.



مثال

Test.py
# 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 B inherit from A: True
Is C inherit from B: True
Is C inherit from A: True
Is A inherit from B: False
Is A inherit from C: False

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة