反射

#本模块反射总结:
细节很重要
import sys class A: def __init__(self,name): self.name = name self.list_func= [('来个哦','foo'),('方可','func')] def foo(self): print(666) def func(self): print(555) def inner(self): pass a = A('大黄') print(a.list_func[0][1]) for i,j in enumerate(a.list_func,1): print(i,j[0]) if hasattr(sys.modules[__name__].a,a.list_func[0][1]):#判断 在不在 print(1111) ret = getattr(sys.modules[__name__].a,a.list_func[0][1])#得到的是foo 这个函数的函数地址 print(ret) ret() 反射总结:sys.modules[__name__] 反射对象与字符串的关系 要能够点得到 sys.modules[__name__]所以后边点a 其它反射也是一样的
原文地址:https://www.cnblogs.com/LMTlmt/p/10441063.html