python反射原理
1.反射原理
通过字符串的形式导入模块:
__import__(),可以以字符串的形式导入模块。
通过字符串的形式导入函数:
反射:
根据字符串去某个对象里面取东西,可以是字符串,函数,数字。
根据字符串去某个对象里面判断是否存在某个东西
根据字符串去某个对象里面设置东西,函数,数字 ,字符串
根据字符串去某个对象里面删除东西
注意,这里的删除和添加只是在内存里面添加和删除了com模块里面的元素,在硬盘里面没有改变,就意味着这个模块本身是没有发生什么变化的。
因为python在导入模块的时候是全部把内容放在内存里面,再进行读取的,所以本质的模块并没有发生改变,只是内存里面的模块内容被改变。一旦
内存清空,模块重新导入就会恢复最原始的模块内容。或者程序员自己增删改查进行操作。
2.多层嵌套的导入
多层嵌套的时候,最后需要加参数fromlist=True,才能导入。否则导入的是第一个路径名。
并且由图如果是lib这个文件夹下面执行的直接输入输入模块名,如果是别的文件夹下面执行的需要执行fromlist=True才能生效。上图就是在day1对应的文件夹执行的
所以需要加入fromlist=True。否则在lib下直接导入com的字符串就导入模块了。
3.基于反射的web路由框架
这个是很多语言的web路由基础。