定义
darkness为属性
class shade: def __init__(self, light): self.light=light @property def darkness(self): return 100 - self.light def __str__(self): return (str(self.light) + ',' + str(self.darkness))
属性在外部显示为属性,但在内部充当函数调用。当您说时
s.darkness,它将调用您为其属性提供的函数。这使您只能在内部维护一个变量。
如果您希望能够通过分配给黑暗来对其进行修改
setter,请为该属性添加一个
class shade: def __init__(self, light): self.light=light @property def darkness(self): return 100 - self.light @darkness.setter def darkness(self, value): self.light = 100 - value
从而 实际 修改光。如果您以前从未看过属性,我建议
print()您在函数的主体中添加一些,以便您查看何时调用它们。
>>> s = shade(70)>>> s.light70>>> s.darkness30>>> s.light = 10>>> s.darkness90>>> s.darkness = 20>>> s.light80



