#python #ооп #классы
У меня есть класс А и класс B, наследующий класс A. Кто подскажет функцию, выдающую True или False на наследование классом B класса A?
Ответы
Ответ 1
Встроенные функции issubclass и isinstance отвечают на вопрос о наследовании: issubclass (class, classinfo) - является ли класс унаследованым (дочерним) от другого(их) класса(ов) isinstance (object, classinfo) - является ли объект сущностью класса(ов) class A: pass class B(A): pass issubclass (B, A) # True issubclass (A, B) # False isinstance (B(), A) # True Но, не путайте: isinstance (B, A) # False Класс B унаследован от A, но он не является его сущностью. Классы сами по себе объекты и функция isinstance к ним вполне применима. Класс B является сущностью класса type, который в свою очередь, унаследован от object, поэтому: isinstance (B, object) # TrueОтвет 2
issublclass(B, A) Это точно функция, которую вы хотите. См. документацию для этой функции.
Комментариев нет:
Отправить комментарий