属性装饰器

2018-09-08  本文已影响15人  部落大圣

有时候我们不想外界修改属性值,那么通过将属性修饰器@property放在方法的上方创建属性函数。这意味着当访问同名的实例属性时,将调用该方法。

class Pizza:
    def __init__(self, toppings):
        self.toppings = toppings

    @property  # 属性装饰器
    def pineapple_allowed(self):
        return False


pizza = Pizza(["cheese", "tomato"])
print(pizza.pineapple_allowed)
pizza.pineapple_allowed = True
---------------------------
运行结果

False
Traceback (most recent call last):
  File "D:/software/learn_python/learn_python/Day1/属性函数.py", line 12, in <module>
    pizza.pineapple_allowed = True
AttributeError: can't set attribute



可以看到这里是不能修改属性

上一篇 下一篇

猜你喜欢

热点阅读