反射就是一个别名。函数
实际做用:到一个库或者类中去找一个能够引用的东西,类名,函数名,实例,变量均可以spa
关键点:两个函数hasattr()返回True(说明存在)不然返回False,getattr()返回一个地址不然报错orm
两个参数,第一个写要去哪儿找,第二个写上面一堆东西的名字,字符串类型。对象
反射本文件: hasattr(sys.modules[__name__],'A')blog
自动反射其余库中对象: 使用__import__()方法字符串
要在paketage中反射,xiaoyun.py中的某个类get
那么先在本身的syspath中加入p1文件夹的路径,而后form
mol=__import__('p_1_2.p_1_2_1.xiayun',formlist=True)import
c=getattr(mol,'Xiaoyun')变量
c就是Xiaoyun这个类的地址了,能够任意使用.
要注意的是:若是__import__(),不加第二个参数,就只会返回第一个参数的顶级类,而不是具体指向的类