面向对象-魔术方法5-属性访问控制魔术方法

属性访问控制的魔术方法

__getattr__方法

  • 在访问一个对象的某个属性时, 如果该属性不存在, 那么会执行该方法
    面向对象-魔术方法5-属性访问控制魔术方法

__setattr__魔术方法

  • 设置一个对象的属性时, 就会执行该方法, 要注意的是, 使用'self.__dict__[key] = value的形式, 避免产生死循环的递归
    面向对象-魔术方法5-属性访问控制魔术方法

__getattribute__魔术方法

  • 在访问一个对象的属性时, 都会执行的魔术方法, 要注意: 使用 super(类名, self).__getattribute__(item)来避免死循环递归
    面向对象-魔术方法5-属性访问控制魔术方法