Я хотел бы написать что-то вроде:
Код: Выделить всё
class AbstractFoo(metaclass=ABCMeta):
@property
@abstractmethod
def bar(self):
pass
class Foo(AbstractFoo):
def __init__(self):
self.bar = 3
Код: Выделить всё
class Foo(AbstractFoo):
def __init__(self):
self._bar = 3
@property
def bar(self):
return self._bar
@bar.setter
def setbar(self, bar):
self._bar = bar
@bar.deleter
def delbar(self):
del self._bar
Вопрос «Абстрактные атрибуты в Python» предлагает в качестве единственного ответа использовать @property и @abstractmethod: это не так. не отвечаю на мой вопрос.
Рецепт ActiveState для атрибута абстрактного класса через AbstractAttribute может быть правильным, но я не уверен. Он также работает только с атрибутами класса, а не с атрибутами экземпляра.
Подробнее здесь: https://stackoverflow.com/questions/238 ... t-property
Мобильная версия