首页 > 文章列表 > python三种属性管理魔法函数

python三种属性管理魔法函数

python魔法函数
429 2022-08-07

说明

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)

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。