反射
反射就是通过字符串,在模块中寻找指定函数,对其进行判断,获取,设置,删除
1 class Test: 2 def __init__(self): 3 self.ne=6 4 def test2(self): 5 print('test') 6 def test3(self): 7 print(self.ne) 8 obj=Test() 9 t1=hasattr(obj,'test2')#判断是否有 'test2' 10 print(t1) 11 12 t2=getattr(obj,'test2')# 获取'test2'的内存地址 13 t2() 14 print(t2) 15 16 17 obj.test3() 18 t3=setattr(obj,'ne',5)#改变'ne'的值 19 obj.test3() 20 21 t4=delattr(obj,'ne')#删除'ne' 22 print(hasattr(obj,'ne'))#判断是否有'ne'
getattr #根据字符串的形式,去对象中找成员
hasattr #根据字符串的形式,判断对象中是否有成员
setattr #根据字符串的形式, 动态的设置一个成员 (内存)
delattr #根据字符串的形式,动态的删除一个成员 (内存)