python反射原理

时间:2021-10-17 19:41:56

1.反射原理

通过字符串的形式导入模块:

python反射原理python反射原理python反射原理

__import__(),可以以字符串的形式导入模块。

通过字符串的形式导入函数:

python反射原理python反射原理

反射:

根据字符串去某个对象里面取东西,可以是字符串,函数,数字。

python反射原理python反射原理python反射原理

根据字符串去某个对象里面判断是否存在某个东西

python反射原理python反射原理python反射原理

根据字符串去某个对象里面设置东西,函数,数字 ,字符串

python反射原理python反射原理

python反射原理python反射原理

根据字符串去某个对象里面删除东西

python反射原理python反射原理python反射原理

注意,这里的删除和添加只是在内存里面添加和删除了com模块里面的元素,在硬盘里面没有改变,就意味着这个模块本身是没有发生什么变化的。

因为python在导入模块的时候是全部把内容放在内存里面,再进行读取的,所以本质的模块并没有发生改变,只是内存里面的模块内容被改变。一旦

内存清空,模块重新导入就会恢复最原始的模块内容。或者程序员自己增删改查进行操作。

2.多层嵌套的导入

python反射原理

python反射原理python反射原理

多层嵌套的时候,最后需要加参数fromlist=True,才能导入。否则导入的是第一个路径名。

并且由图如果是lib这个文件夹下面执行的直接输入输入模块名,如果是别的文件夹下面执行的需要执行fromlist=True才能生效。上图就是在day1对应的文件夹执行的

所以需要加入fromlist=True。否则在lib下直接导入com的字符串就导入模块了。

3.基于反射的web路由框架

python反射原理python反射原理

这个是很多语言的web路由基础。