__set__和__setattr__的区别和使用场景
__set__和__setattr__的区别和使用场景,可以用实例介绍一下吗?感觉两个有点相像,希望能够有明白的人总结一下区别,如果有参考来源,希望注明,谢谢 class AAA :def __init__(self,value,name):
self.name = value
def __setattr__(self,name, value): ##对定义类AAA中属性的修改做出的反应
print("__setattr__正在被调用")
def __set__(self,instance,value): ##对生成实例中属性修改做出的反应
print("__set__正在被调用")
class Instance:
x = AAA(10, 'x')
>>> a = Instance()
>>> a.x = 1
__set__正在被调用
>>> b = AAA(1,"x2")
__setattr__正在被调用
>>> b.x2 = 2
__setattr__正在被调用
>>>
我的理解是:
__setattr__是用于定义类的内部
__set__是用于定义类所创建的实例的
页:
[1]