摘要:在对象的创建和使用期间自动调用。这些特殊方法可以用于实现类似于属性访问、属性删除、属性赋值和属性访问前的特殊行为。
一、__setattr__
用于在属性赋值时被自动调用,并将该属性名和属性值存储在实例字典中。该方法可以用来检查属性值的合法性,也可以用来实现属性赋值时的复杂逻辑
class MyClass: def __setattr__(self, name, value): print(f"Setting {name} to {value}") # 可写一些规范属性等其他逻辑 super().__setattr__(name, value) # 我们使用super()方法调用父类的__setattr__方法,以便在实例字典中存储属性 obj = MyClass() obj.x = 5 """ 执行结果: Setting x to 5 """
二、__getattr__
持续更新中。。。。。。