Python教程自学网欢迎您来学习!
当前位置: 首页 > Python基础教程 > python三种属性管理魔法函数

python三种属性管理魔法函数

   

python三种属性管理魔法函数

说明

1、_setattr_设定未知的属性。

如果这个对象没有这个属性的话,设定未知的属性的话,就会调用这个方法。

2、_getattr_找未知的属性。

如果这个对象没有这个属性的话,找未知的属性的话,就会调用这个方法。

3、_getattribute_无论是访问存在还是不存在的属性,都访问了getatribute这个函数。

实例

class Foo(object):
    def __init__(self):
        pass
 
    def __setattr__(self, key, value):
        print("调用setattr方法,属性为:", key, value)
        super().__setattr__(key, value)
 
    def __getattr__(self, item):
        print("调用getattr方法,属性为:", item)
        return None
 
 
obj = Foo()
obj.x = 123
print(obj.x)
print(obj.w)