对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笔记(叁)继续学习
Oct 24 Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
详解Python3定时器任务代码
Sep 23 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
python多线程使用方法实例详解
Dec 30 Python
python:HDF和CSV存储优劣对比分析
Jun 08 Python
Python3+selenium配置常见报错解决方案
Aug 28 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP编码转换
2012/11/05 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
js可突破windows弹退效果代码
2008/08/09 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
JavaScript代码实现简单计算器
2020/12/27 Javascript
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
python爬取淘宝商品销量信息
2018/11/16 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
python实现井字棋小游戏
2020/03/04 Python
简单了解Django项目应用创建过程
2020/07/06 Python
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
英语专业学生的自我评价
2013/12/30 职场文书
食品安全汇报材料
2014/08/18 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
高中体育课教学反思
2016/02/16 职场文书