转载自品略图书馆 http://www.pinlue.com/article/2020/06/1109/0410711739248.html
一、python-反射机制
目录
1、反射基本方法
2、反射demo
二、
1、hasattr(obj,name_str) #判断一个对象obj里是否有对应的字符串的方法
getattr(obj,name_str) #根据字符串去获取obj对象里的对应的内存地址,字符串是 变量则返回值
setattr(obj,"y","z") #根据字符串设置属性(方法,变量) delattr(obj,name_str) 删除
2、demo
class Dog(object): def __init__(self,name): self.name=name def eat(self,food): print("%s 开始吃"%self.name,food)def bulk(self): print("1233 %s" %self.name)d=Dog("李富贵")chaer=input("输入:").strip()if hasattr(d,chaer): #func=getattr(d,chaer) #func("包子") setattr(d,chaer,"雷") #修改原来变量的内容 print(getattr(d, chaer)) delattr(d,chaer) #删除 print(d.name)else: setattr(d,chaer,bulk) #添加新方法,返回内存地址 func=getattr(d,chaer) func(d) # setattr(d, chaer, 22) #添加新变量,返回值 # print(getattr(d,chaer))