双向绑定机制
本帖最后由 King丨小义 于 2022-12-23 11:03 编辑其实本质上就是想办法把number变成self.number
让代码看起来更加舒适
number = 18
class Person():
def __init__(self):
# self.age='xxx'# 注意这地方不能再赋值,否则会调用__setattr__方法
pass
def __getattr__(self, key):
if key == 'age':
self.age = number
return number
def __setattr__(self, key, value):
if key == 'age':
global number
number = value
p = Person()
print(p.age)# 18
# --修改p.age, 则number会跟着更改
p.age = 19
print(p.age) # 19
print(number)# 19
# --修改number, 则p.age会跟着更改
number = 20
print(p.age)# 20
print(number) # 20
页:
[1]