暂无 |

属性 Properties

属性也可以通过定义setter/getter函数来设置。 setter函数设置相应的属性值。 getter获取值。 要定义一个setter,您需要使用与属性相同名称的装饰器,后面跟着一个点和SETER关键字。 这同样适用于定义getter函数。

例如:


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!")

pizza = Pizza(["cheese", "tomato"])
print(pizza.pineapple_allowed)
pizza.pineapple_allowed = True
print(pizza.pineapple_allowed)

结果:

>>>
False
Enter the password: Sw0rdf1sh!
True

0

  • 上一篇:属性

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论