python 反射、动态导入
1. 反射 hasattr(obj,'name') # 判断对象中是否含有字符串形式的方法名或属性名,返回True、False getattr(obj,'name',None) # 返回对象中的方法或属性: obj.name,如果没有此方法或属性,返回None setattr(obj,'name',value) # 设置对象中方法或属性的值: obj.name = value delattr(obj,'name') # 删除对象中的方法或属性 class A(object): age = 22 def __init__(self,name): self.name = name def getname(self): print(self.name) a = A('wang') print(hasattr(a,'age')) # True 判断对象中是否有字符串形式的方法或属性名字。 setattr(a,'sex','man') # 给a对象设置一个属性:sex = 'man' print(a.sex) func = getattr(a,'getname',None) # 获取a对象的一个方法:getname;如果没有这个方法,则为None func() delattr(a,'name') # 删除a对象的age属性 try: print(a.name) except: print(