我想在python中创建一个具有其属性设置器的类。
例如,假设我们有一个名为myClass
的类,并且它具有x
属性。我想创建它,以便当某人更改x值时,仅保存x (x % 100)
的最后两位。
在python shell中使用myClass:
>>> obj = myClass()
>>> obj.x = 352562
>>> obj.x
62
我可以定义一个在更改x
的值时自动调用的setter吗?
答案 0 :(得分:0)
您可以使用属性装饰器
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value % 100
此外,您还必须在 init 方法中声明和初始化_x以获得更安全的代码
有关更多信息,请参见此stack overflow post