Как посмотреть наследников класса в python?

Пользователь

от richard , в категории: Python , месяц назад

Как посмотреть наследников класса в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от NicolasSsh , месяц назад

@richard  Вы можете использовать вид CLASS.__subclasses__() Для того, чтобы узнать наследников класса.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class X:
    def __init__(self):
        pass


class Y(X):
    def __init__(self):
        pass


class Z(X):
    def __init__(self):
        pass

classType = X # Выбираем класс, у которого будут искаться наследующие классы

subclasses = list()

for child in classType.__subclasses__(): # Циклом перебираем все наследующие классы
    if child not in subclasses:
        subclasses.append(child) # Добавляем в общий список наследующих классов

print(subclasses)

# Вывод : [<class '__main__.Y'>, <class '__main__.Z'>]