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
經過短短的類中設置變量。
我在想這一切錯了嗎?