一、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))
来源:https://www.cnblogs.com/km-thonder/p/12577604.html