猴子补丁(monkey patch): https://www.cnblogs.com/scx-xiaochun/p/17278075.html
对函数、类或者模块的动态(运行时)修改
python的反射机制: 通过一组内置的函数和语句,在运行时动态的访问、检查和修改对象的属性、方法和类信息的机制。
这个功能在自动化测试、关键字驱动框架以及一些其他编程场景中有这广泛的应用。
以下是python中实现反射的内置函数和语句:
1. 内置函数:Python提供了几个内置函数来实现反射:
说明:对内存的模块进行操作,并不对源文件进行修改。
(1) getattr()
:获取对象的属性或方法。可通过对象和字符串方式传递属性和方法,并可以提供一个默认值,用在属性或者方法不存在时返回。
(2)setattr()
: 设置对象的属性或者方法。可以通过对象和字符串方式传递属性或者方法名的值。
(3)delattr()
:删除对象的属性和方法
(4)dir()
: 获取对象的所有属性和方法列表。
(5)type()
:获取对象的类型。
(6)inspect模块:提供更高级的反射功能,可以获取函数和类的参数列表、注解、源代码等信息。