总结
__import__
__getattr__
反射的定义:根据字符串的形式去模块中寻找某个东西
import commons
target_func=getattr(commons,"f1")
target_func()
注意getattr():里面可以设置三个参数,其中第三个参数可以设置返回的默认值,比如要找的模块里边如果没有那个函数,就可以用target_func=getattr(commons,"f111",None)
print(target_func)
要注意不知道寻找的是什么,只要是模块里边的东西都是可以寻找到的。
hasattr(commons,'NAME'):查看模块里边是否有这个属性

has_attr:根据字符串的形式去某个模块中判断某个东西是否存在:这个是has_attr()这个函数的作用
setattr(comments,"AGE",18)
反射可以根据字符串的形式去某个模块中去设置东西
也可以根据字符串的形式去某个模块中去删除某个东西
根据字符串的形式去对象(某个模块)中操作成员
相当于实现一个终端版的web框架
在反射里面学到的函数有以下几种:
getattr()
hasattr()
setattr()
delattr()
扩展:有两中形式导入模块:一种是import,另外一种是__import__
可以通过import lib.test.com或者是另外一种
from lib.test import com
也可以r=__import__('lib.test.com')//注意只有这个是不行的,还得加上r=__import__('lib.test.com',fromlist=True)
print(r)

print(r)

浙公网安备 33010602011771号