Могу ли я определить сеттеры в python? - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу создать класс в Python, который имеет сеттеры для своих атрибутов.

Например, предположим, что у нас есть класс с именем myClass и он имеет атрибут x. Я хочу создать его так, чтобы при изменении значения x сохранялись только две последние цифры x (x % 100).

с использованием myClass в оболочке Python:

>>> obj = myClass()
>>> obj.x = 352562
>>> obj.x
62

Можно ли определить сеттер, который вызывается автоматически при изменении значения x?

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете использовать свойства декораторов

@property
def x(self):
    return self._x

@x.setter
def x(self, value):
    self._x = value % 100

Также вам нужно будет объявить и инициализировать _x в вашем init методе для более безопасного кода

См. сообщение о переполнении стека для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...