反射机制

反射机制的本质是以字符串形式在对象或模块中进行添加,查找,删除,获取成员等操作,是一种基于字符串的一系列事件驱动。


相关内置函数getattr(object, name[, default])
获取object对象中的name属性并返回其值,在name不存在时返回default,不设置则会抛出一个AttributeError。
setattr(object, name, value)
设置object对象中name属性的值为value,name不存在时则创建属性并赋值。
hasattr(object, name)
判断object对象中是否含有name属性,含有返回True,否则返回False。
delattr(object, name)
删除object对象中的name属性。
import(name[, globals[, locals[, fromlist[, level]]]])
参数为字符串,导入参数同名的模块或字符串。反射机制的应用

有了以上内置函数,我们可以非常便利的实现动态的函数调用,模块导入,以及对象成员的“增删改查”等操作。