1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Abc(object): def __init__(self): self._value_b = 0
def value_a(self): a = 128 return a
# 加了@property就可以将这个函数的返回值,当成属性来使用 @property def value_b(self): b = 256 return b
@value_b.setter def value_b(self,value): self._value_b = value
if __name__ == '__main__': abc = Abc() print('abc.value_a:',abc.value_a()) print('abc.value_b:',abc.value_b) # 重新赋值 abc.value_b = 30 # 重新赋值后,但是也不起作用,打印的还是原值 print('重新赋值abc.value_b:', abc.value_b) # 然后使用setter,打印的值就是我们想要的了 print('abc._value_b:', abc._value_b)
|