对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中使用PIL模块对图片进行高斯模糊处理的教程
May 05 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
Python数据结构之单链表详解
Sep 12 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
python selenium执行所有测试用例并生成报告的方法
Feb 13 Python
python 的 scapy库,实现网卡收发包的例子
Jul 23 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
分享Python获取本机IP地址的几种方法
Mar 17 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
yii实现级联下拉菜单的方法
2014/07/31 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
Python 自动化表单提交实例代码
2017/06/08 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
python中对_init_的理解及实例解析
2019/10/11 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
执行力心得体会
2013/12/31 职场文书
供货协议书
2014/04/22 职场文书
营销与策划专业求职信
2014/06/20 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
赢在中国观后感
2015/06/02 职场文书
董事长年会致辞
2015/07/29 职场文书
2016春节放假通知范文
2015/08/18 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
创业计划书之酒厂
2019/10/14 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python