反射

反射:

python是动态语言,而反射(reflection)机制被视为动态语言的关键。
反射机制指的是在程序的运行状态中
对于任意一个类,都可以知道这个类的所有属性和方法;
对于任意一个对象,都能够调用他的任意方法和属性。
这种动态获取程序信息以及动态调用对象的功能称为反射机制。

dir:查看某个对象下,可以调用的属性——字符串

dir(obj)

内置函数:
hasattr()  hasattr(obj,'x')  Ture False 

getattr()  getattr(obj,'x') 

getattr(obj,'x',None) 
这样没有就返回None,就不会报错 

setattr()  setattr(obj,'y',1) None
存在,就赋值;不存在,就创建;内置类型不能增加属性。

delattr()  delattr(obj,'y')  
没有这个属性,就报错

属性是否存在,获取,设置,删除

obj.__dict__[dir(obj)[-2]]
原文地址:https://www.cnblogs.com/pythonwl/p/12705361.html