反射机制

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

相关内置函数

  • 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]]]])

    参数为字符串,导入参数同名的模块或字符串。

    反射机制的应用

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