Получить поля, объявленные в subclass
Допустим, есть класс:
class Base:
a = 1
def subclass_fields(self):
return ... # здесь должно вернуться что-то типа {"b": 2}
и есть класс который отнаследовался от Base:
class MyClass(Base):
b = 2
Я ожидаю, что метод subclass_fields
вернёт те поля и методы, которых нет в классе Base
, но которые были объявлены в каком-либо из сабклассов - например, при объявлении нового класса MyClass2
:
class MyClass2(MyClass):
c = 3
c = MyClass2()
print(c.subclass_fields) # {"b": 2, "c": 3}
Источник: Stack Overflow на русском