Pythonic способ узнать, в каком родителе был определен атрибутPython

Программы на Python
Гость
Pythonic способ узнать, в каком родителе был определен атрибут

Сообщение Гость »


Если у меня есть это дерево классов:

@dataclass класс Родитель(): р: интервал = 42 @dataclass класс Ребенок (Родитель): в: интервал = 0 объект = Ребенок() Из объекта obj можно легко узнать, что p был определен в Parent и c в Child?

Я прохожу через __mro__ сверху, получаю список атрибутов и, спускаясь ниже по иерархии, получаю новые еще не определенные атрибуты. Это работает, но мне интересно, есть ли более питонический способ.

Изменить: контекст

Речь идет об автоматически создаваемых классах, описывающих реальные электрические сети.

Изображение, имеющее эти 3 класса, определяющее дерево:
Класс [*]Оборудование, определяющий имя [*]Проводящее оборудование, определяющее сопротивление [*]Кабель, определяющий материал.
Конечно, будет больше типов оборудования и больше типов проводящего оборудования. Для этого существует один стандартный формат обмена, который требует указания полного имени атрибута, то есть Equipment.name даже для Cable.

Так что в этом, по общему признанию, странном контексте мне действительно нужно это сделать.

Вернуться в «Python»