下面代码可输出代码对象的属性:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#learnbytecode-2.py
import platformdef sayHello():print("hello,world!")
print("python Version:",end="")
print(platform.python_version())
print("---------------------")
codeAttributes=dir(sayHello.__code__)
for codeAttr in codeAttributes:if "co_" in codeAttr:     print(codeAttr,end=":")print(getattr(sayHello.__code__,codeAttr))
 运行代码,输出属性结果如下:
python Version:3.9.4
---------------------
co_argcount:0
co_cellvars:()
co_code:b't\x00d\x01\x83\x01\x01\x00d\x00S\x00'
co_consts:(None, 'hello,world!')
co_filename:H:\learnpyad\learnPyAdvance\learnbc\learnbytecode-2.py
co_firstlineno:6
co_flags:67
co_freevars:()
co_kwonlyargcount:0
co_lnotab:b'\x00\x01'
co_name:sayHello
co_names:('print',)
co_nlocals:0
co_posonlyargcount:0
co_stacksize:2
co_varnames:()

python3精要(84)-字节码原理及分析(2)相关推荐

  1. python3精要(34)-import工作原理

    1.import导入模块,不是将一个文件插入到另一个文件中,它额外做了以下三方面工作: (1)搜索找到模块文件 使用标准模块搜索路径找到该模块文件,并没有指定文件所在路径,可以是以点号分隔的相对路径名 ...

  2. 操作数栈的字节码指令执行分析

    一:写个demo 二:点击Recompile编译 三:使用javap命令反编译class文件        javap -v 类名.class 四:查看结果 五:分析执行过程 首先bipush意思是把 ...

  3. 【Java 虚拟机原理】Class 字节码二进制文件分析 六 ( 属性类型 | Code 属性 | 属性名称索引 | 属性长度 | 操作数栈最大深度 | 局部变量存储空间 | 字节码长度 )

    文章目录 前言 一.属性类型 二.Code 属性表数据结构 三.属性名称索引 四.属性长度 五.操作数栈最大深度 六.局部变量存储空间 七.字节码长度 八.存储字节码指令的一系列字节流 前言 上一篇博 ...

  4. 【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )

    文章目录 前言 一.方法表结构 二.方法计数器 三.方法表数据解析 ( init 构造方法 ) 1.方法访问标志 2.方法名称索引 3.方法返回类型 4.方法属性数量 前言 上一篇博客 [Java 虚 ...

  5. 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )

    文章目录 前言 一.字段表总数据结构 二.访问标志 三.字段名称 四.字段描述符 五.属性项目数 前言 上一篇博客 [Java 虚拟机原理]Class 字节码二进制文件分析 三 ( 访问和修饰标志 | ...

  6. 【Java 虚拟机原理】Class 字节码二进制文件分析 三 ( 访问和修饰标志 | 类索引 | 父类索引 | 接口计数器 | 接口表 | 字段计数器 | 字段表 )

    文章目录 前言 一.访问和修饰标志 二.类索引 三.父类索引 四.接口计数器 五.接口表 六.字段计数器 七.字段表 前言 上一篇博客 [Java 虚拟机原理]Class 字节码二进制文件分析 二 ( ...

  7. Java字节码角度分析多态原理 ——提升硬实力8

    在前面的文章中,有详细地介绍java字节码相关的知识,有兴趣的可以提前了解一下. 1.Java字节码的一段旅行经历--提升硬实力1 2.Java字节码角度分析a++ --提升硬实力2 3.Java字节 ...

  8. 从字节码层面,解析 Java 布尔型的实现原理

    最近在系统回顾学习 Java 虚拟机方面的知识,其中想到一个很有意思的问题:布尔型在虚拟机中到底是什么类型? 要想解答这个问题,我们看 JDK 的源码是无法解决源码的,我们必须深入到 class 文件 ...

  9. 【Python】浅谈 字节码 + 虚拟机 (Python 解释器)

    目录 一.绪论 二.说明 2.1 字节码编译 2.2 Python 虚拟机 (PVM) 2.3 性能意义 ☆ 2.4 开发意义 三.小结 一.绪论 Python 通常被描述为一种 解释型语言,在这类语 ...

最新文章

  1. c++编译器里的字体_从C的for和Python的for聊起
  2. Analog使用中的一些技巧和总结
  3. [Android Studio] 初体验
  4. C语言高级编程:函数指针的用法
  5. LeetCode 1390. 四因数
  6. 数字校园项目-学生失联预警系统(二)-----项目部署
  7. Servlet Filter
  8. linux内核PID管理
  9. LeetCode 300最长递增子序列
  10. Ford-Fulkerson Edmonds-Karp算法
  11. Java 阶乘(BigInteger)
  12. 端口扫描实验和Dos攻击实验
  13. 如何使用工具切换设备ip 电脑和手机怎么如何换ip?
  14. 《美国工厂》:一座中国工厂在数万英里之外的异域镜像
  15. app中跳转到手机浏览器,部分手机白屏解决(Vue)
  16. 桌面便签哪个软件好用?求推荐一款便签软件?
  17. 试卷模板 html,一年级语文试卷模板
  18. c语言怎么快速读出函数作用,读文件fread函数的用法
  19. 2019最新网易云课堂人工智能数学基础(同步更新)
  20. 2023年【山东省安全员C证】考试及山东省安全员C证考试内容

热门文章

  1. VMWARE错误-VirtualInfrastructure.Utils.ClientsXml的类型初始值设定项引发异常
  2. 蒟蒻浅谈树链剖分之一——两个dfs操作
  3. 素数 乘法表 闰年
  4. [不定期更新]需要记住的结论
  5. JavaScript能力测评经典题及答案(一:数组之查找组元素位置)
  6. 个人日记2016年12月19日21:31:46
  7. 显示和隐藏系统任务栏的类
  8. Android应用程序请求SurfaceFlinger服务渲染Surface的过程分析
  9. websocket vs keep-live
  10. Android自定义Shape