码迷,mamicode.com
首页 > 编程语言 > 详细

python对象反射和函数反射

时间:2017-11-30 19:10:39      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:attribute   size   反射   ant   使用   报错   比较   返回   call   

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对象反射和函数反射

标签:attribute   size   反射   ant   使用   报错   比较   返回   call   

原文地址:http://www.cnblogs.com/yanzi-meng/p/7930283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!