Я хотел бы переопределить свойство.
Мой код более высокого уровня:
@property
def label(self):
return self._label if self._label else None
@label.setter
def label(self, value):
self._label = value
В подклассе у меня есть:
@property
def label(self):
return str(self.center_pixel.as_tuple())
Когда Я пытаюсь установить label
Я получаю сообщение об ошибке:
self.label = str(self.id)
AttributeError: can't set attribute
Но когда я удаляю декоратор @property
в методе label
низшего класса, все работает нормально.
Есть хорошее объяснение, почему это так?
Спасибо.
ОБНОВЛЕНИЕ:
У меня есть подкласс класса более низкого уровня. Он также использует label
как @property
. В этом случае, если я удаляю декоратор @property
, я получаю сообщение об ошибке при доступе к значению label
. Теперь я еще больше запутался!