阅读量:0
在Python中,property
函数是一个内置函数,用于创建可读写的属性。
property
函数可以用作装饰器,将一个方法转换为相应的可读写属性。它接受四个参数:fget
、fset
、fdel
和doc
。
fget
:获取属性值的函数。它将在访问属性时被调用。fset
:设置属性值的函数。它将在给属性赋值时被调用。fdel
:删除属性值的函数。它将在使用del
关键字删除属性时被调用。doc
:属性的文档字符串。
以下是property
函数的基本用法示例:
class MyClass: def __init__(self): self._x = 0 # 定义可读写的属性x @property def x(self): return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x # 创建实例 obj = MyClass() # 访问属性 print(obj.x) # 输出: 0 # 设置属性 obj.x = 10 # 再次访问属性 print(obj.x) # 输出: 10 # 删除属性 del obj.x # 再次访问属性 print(obj.x) # 抛出 AttributeError: 'MyClass' object has no attribute '_x'
在上面的示例中,通过@property
装饰器将x
方法转换为可读写的属性。@x.setter
装饰器定义了设置属性值的方法,@x.deleter
装饰器定义了删除属性值的方法。