我可以用python定义setter吗?
我想在python中创建一个类,该类的属性具有setter 例如,假设我们有一个名为我可以用python定义setter吗?,python,class,attributes,Python,Class,Attributes,我想在python中创建一个类,该类的属性具有setter 例如,假设我们有一个名为myClass的类,它有x属性。我想创建它,以便当有人更改x值时,只保存x的最后两位(x%100) 在python shell中使用myClass: 我是否可以定义一个setter,在更改x的值时自动调用该setter?您可以使用属性装饰器 @property def x(self): return self._x @x.setter def x(self, value): self._x =
myClass
的类,它有x
属性。我想创建它,以便当有人更改x值时,只保存x的最后两位(x%100)
在python shell中使用myClass:
我是否可以定义一个setter,在更改
x
的值时自动调用该setter?您可以使用属性装饰器
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value % 100
此外,您还必须在init方法中声明并初始化x,以获得更安全的代码
有关更多信息,请参见此查看
\uuu getattr\uuuuuuuuuu
和\uuuuuuuu setattr\uuuuuuuuu
魔术方法可能重复的
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value % 100