我是一个新的 Python 程序员,我最近开始学习 Python 中的 @property 和 @setter 装饰器。但是,我对它们在最简单的脚本中的使用感到困惑,例如:
class Aaron:
def __init__(self,name):
self.name = name
@property
def name(self):
return self._name
@name.setter
def name(self,new):
self._name = new
setter 和 getter 的用途是什么?,感谢您的帮助
当您想在设置或获取值时执行某些操作时,Setter 和 getter 非常有用,例如验证该值是否有效,或记录访问,或修改另一个值。
例如,如果您有一个Screen
类并希望保持 16:9 的纵横比,您可以这样写:
class Screen:
def __init__(self):
self._height = 1080
self._width = 1920
@property
def height(self):
return self._height
@name.setter
def height(self,new):
self._height = new
self._width = 16*self._height/9
@property
def width(self):
return self._width
@name.setter
def width(self,new):
self._width = new
self._height = 9*self._width/16
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句