代码点读机 / Python / property

property Python · 内置函数

`property` 是一个装饰器,用来把类的方法变成属性,这样访问属性时会自动调用方法。常用于控制属性的访问,比如只读属性、校验赋值等。

怎么用

class 类:
    @property
    def 属性(self):
        return ...
    @属性.setter
    def 属性(self, value):
        ...

小例子

class 温度:
    def __init__(self):
        self._摄氏 = 0
    @property
    def 华氏(self):
        return self._摄氏 * 9/5 + 32
    @华氏.setter
    def 华氏(self, value):
        self._摄氏 = (value - 32) * 5/9
t = 温度()
t.华氏 = 32
print(t.华氏)   # 32.0
print(t._摄氏)  # 0.0
**运行结果**:如上。

运行结果

12.56

常见使用场景

- 只读属性。
- 属性验证。
- 计算属性。

提醒:- 可选定义 setter、deleter。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#property

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条