反射是通过字符串的形式操作对象的相关成员
- 反射也就是通过字符串的形式,导入模块,通过字符串的形式去模块中寻找指定函数,并执行。
Python中的反射功能有四个主要内置函数提供:
- 1、hasattr(模块, ‘成员’):根据字符串的形式,去某个模块中检查是否含有某个成员
- 2、getattr(模块, ‘成员’):根据字符串的形式,去某个模块中获取成员。详细用法
- 3、setattr(模块, ‘成员’):根据字符创的形式,去某个某个模块中设置成员
- 4、delattr(模块,‘成员’):根据字符串的形式,去某个模块中删除成员
Python在项目中使用反射:
一、需求
1、爬虫有很多任务,有一套自己的框架。任务是由一个映射模块,一一指定映射到业务模块上的。
如图:
2、这样写的话,耦合度很高,代码维护起来也比较麻