反射

#本模块反射总结:
细节很重要
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 其它反射也是一样的

 

posted @ 2019-02-26 23:55  LmtMe  阅读(88)  评论(0编辑  收藏  举报