在Python中,property函数是一个内置函数,用于创建可读写的属性。
property函数可以用作装饰器,将一个方法转换为相应的可读写属性。它接受四个参数:fget、fset、fdel和doc。
fget:获取属性值的函数。它将在访问属性时被调用。
fset:设置属性值的函数。它将在给属性赋值时被调用。
fdel:删除属性值的函数。它将在使用del关键字删除属性时被调用。
doc:属性的文档字符串。
以下是property函数的基本用法示例:
class MyClass:def __init__(self):self._x = 0# 定义可读写的属性x@propertydef x(self):return self._x@x.setterdef x(self, value):self._x = value@x.deleterdef 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装饰器定义了删除属性值的方法。

