对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 捕获shell脚本的输出结果实例
Jan 04 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
Python Django Cookie 简单用法解析
Aug 13 Python
python实现智能语音天气预报
Dec 02 Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
js 字符串操作函数
2009/07/25 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
Python教程之全局变量用法
2016/06/27 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Django实现文件上传下载
2019/10/06 Python
在pycharm中实现删除bookmark
2020/02/14 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
行政人事经理职位说明书
2014/03/05 职场文书
争先创优心得体会
2014/09/12 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
给老婆的保证书
2015/01/16 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
python中subplot大小的设置步骤
2021/06/28 Python
数据库之SQL技巧整理案例
2021/07/07 SQL Server
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle