python对象反射和函数反射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python对象反射和函数反射相关的知识,希望对你有一定的参考价值。
[原文]
python的对象反射功能,经常在编程时使用.相比较其它的编程语言使用非常方便.反射就是用字符串来操作对象或者类,模块中的成员.
一.对象的反射
反射功能的实现,由这4个内置函数来实现(hasattr, getattr, setattr, delattr)
1.1.hasattr判断是否有某个成员
判断对象中是否有属性, 方法.返回bool值
上例中使用对象作为obj参数来判断,是否有类的静态方法.也是可以的.因为对象的特殊性,先在对象中找是否有该成员,如果没在,通过对象指针,在去创建这个对象的类中找查
执行结果
1.2.获取对象的成员
也可以使用对象来获取类的成员.和上例中的hasattr一样
1.3.增加对象或者类的成员
动态的增加对象或者类中的成员
执行结果
1.4.使用delattr动态的删除类或者方法成员
演示代码
执行结果
二.在当前模块中使用反射
获取到对应的模块.
以上是反射对类,对象,模块成员操作的基本方法.
三.使用字符串自动导入模块
依据传入的字符串,自动导入模块.类似上文的方法反射
执行结果
1 2 | <module ‘lib.aa‘ from ‘D:\\\\python\\\\day10\\\\lib\\\\aa.py‘> ait24 |
以上是关于python对象反射和函数反射的主要内容,如果未能解决你的问题,请参考以下文章