Python 对象反射
对象的反射,主要为 hasattr, getattr,setattr,delattr
class Stocker: def __init__(self): self.name='1STK0100' self.fab='Array' def run(self): print('move cst') stk=Stocker() """hasattr 用于判断对象里面是否包含指定的属性,返回 boolean 值""" flag=hasattr(stk,'name') flag=hasattr(stk,'run') """ getattr 用于获取对象里面指定的属性,有则返回该属性值,没有则报错或返回指定的值""" val=getattr(stk,'name1','如果没有这个属性就返回指定的值') getattr(stk,'run')() """setattr 用于给对象设置新的属性并赋值""" setattr(stk,'crane','RM01') """delattr 删除对象的属性""" delattr(stk,'name')
利用反射来进行模块的动态导入 importlib
import importlib """ hello为 包下面的一个模块文件 """ module=importlib('package.hello') """ test为 hello模块里面的一个方法""" module.test()