class Pizza:
def __init__(self, toppings):
self.toppings = toppings
self._pineapple_allowed = False
@property
def pineapple_allowed(self):
return self._pineapple_allowed
@pineapple_allowed.setter
def pineapple_allowed(self, value):
if value:
password = input("Enter the password: ")
if password == "Sw0rdf1sh!":
self._pineapple_allowed = value
else:
raise ValueError("Alert! Intruder!")
我很困惑的@<func>.setter
装饰从仅仅覆盖在物体的__set__
功能有何不同。同样的,@<func>.getter
和__get__
。
对于这个问题,我想不出用例的用于@property
经过短短的类中设置变量。
我在想这一切错了吗?