反射---hasattr、getattr、setattr、delattr
class Foo: f = "类的静态变量" def __init__(self,name,age): self.name = name self.age = age def say_hi(self): print("hi %s"%self.name) obj = Foo("egon","100") #检测是否有某属性 print(hasattr(obj,"name")) print(hasattr(obj,"say_hi")) #获取某属性 print(getattr(obj,"name")) #在获取函数属性时,getattr()或得到的是方法的地址,因此运行此函数需要加括号 getattr(obj,"say_hi")() #添加属性 setattr(obj,"sb","egon") print(obj.__dict__) #删除属性 delattr(obj,"sb") print(obj.__dict__)
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下"推荐"按钮,本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接,谢谢。