Python 魔法方法

111 阅读1分钟

魔法方法

image.png

__dict__属性:查看对象内部所有属性名和属性值组成的字典

__getattribute__:

1.__getattribute__(self,*args,**kwgs)中传入的参数是属性名,不是属值,很多初学者有误区。

2.使用类名调用类属性时,不会经过__getattribute__方法,只争取实例对象对属性的调用,包括调用类属性

3.__getattribute__是属性拦截器,属性调用会传入处理,最后要有返回值,将传入属性处理后返回给调用者

hasattr、getattr、setattr

image.png

image.png

使用场景:不确定用类的什么属性的时候可以用,传入一个字符串就能访问类对象属性。

image.png

使用场景:以字符串的方式输入对象属性,并对该属性对应的属性值进行修改(若属性不存在,则会为该对象创建属性)