Я некоторое время гуглил, но все, что я получил, - это свойство INSTANCE , а не свойство CLASS . Например, это ответ с наибольшим количеством голосов для вопроса от stackoverflow
class C(ABC):
@property
@abstractmethod
def my_abstract_property(self):
return 'someValue'
class D(C)
def my_abstract_property(self):
return 'aValue'
class E(c)
# I expect the subclass should have this assignment,
# but how to enforce this?
my_abstract_property = 'aValue'
Однако это случай INSTANCE PROPERTY, а не мой случай CLASS PROPERTY. Другими словами, вызов
D.my_abstract_property
вернет что-то вроде <unbound method D.my_abstract_property>
. Возвращение 'aValue' - это то, что я ожидал, как класс E.