对Python 获取类的成员变量及临时变量的方法详解


Posted in Python onJanuary 22, 2019

利用Python反射机制,从代码块中静态获取参数:

co_argcount: 普通参数的总数,不包括参数和*参数。

co_names: 所有的参数名(包括参数和*参数)和局部变量名的元组。

co_varnames: 所有的局部变量名的元组。

co_filename: 源代码所在的文件名。

co_flags: 这是一个数值,每一个二进制位都包含了特定信息。较关注的是0b100(0x4)和0b1000(0x8),如果co_flags & 0b100 != 0,说明使用了*args参数;如果co_flags & 0b1000 != 0,说明使用了**kwargs参数。另外,如果co_flags & 0b100000(0x20) != 0,则说明这是一个生成器函数(generator function)。

class A:
  def __init__(self, a, b, c):
   self.x = a
   self.y = b
   self.z = c
   xx = 1
  def __str__(self):
   co = self.__init__.func_code
   co_names, co_varnames = 'co_names: ', 'co_varnames: '
   co_names += ','.join(co.co_names)
   co_varnames += ','.join(co.co_varnames)
   return ''.join((co_names, '\n', co_varnames))
 if '__main__' == __name__:
  obj = A(1, 2, 3)
  print str(obj)

结果:

co_names: x,y,z
co_varnames: self,a,b,c,xx

以上这篇对Python 获取类的成员变量及临时变量的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之玩转字符串(2)
Sep 14 Python
Python、Javascript中的闭包比较
Feb 04 Python
使用python遍历指定城市的一周气温
Mar 31 Python
python实现手机通讯录搜索功能
Feb 22 Python
python爬虫爬取网页表格数据
Mar 07 Python
用Python逐行分析文件方法
Jan 28 Python
详解python调用cmd命令三种方法
Jul 08 Python
Python中的类与类型示例详解
Jul 10 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 Python
Python实现深度遍历和广度遍历的方法
Jan 22 #Python
Python遍历文件夹 处理json文件的方法
Jan 22 #Python
Python多线程原理与用法实例剖析
Jan 22 #Python
python解析含有重复key的json方法
Jan 22 #Python
Python设计模式之简单工厂模式实例详解
Jan 22 #Python
对python字典过滤条件的实例详解
Jan 22 #Python
python实现淘宝秒杀脚本
Jun 23 #Python
You might like
构建简单的Webmail系统
2006/10/09 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python实现图像识别功能
2018/01/29 Python
python破解同事的压缩包密码
2020/10/14 Python
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
财务分析个人的自荐书范文
2013/11/24 职场文书
商铺租赁意向书
2014/04/01 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
教师考核评语大全
2014/12/31 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
入党自荐书范文
2015/03/05 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
领导欢送会主持词
2015/07/06 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
礼貌问候语大全
2015/11/10 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python