Python 进阶
Python 协程实现原理
dict 和 set 实现原理
Python 线程安全
Python 抽象语法树(AST)
Python 日志输出
Python 扩展入门(一)
Python 程序执行原理
Python 垃圾回收
yield 生成器工作原理
django 源码分析:请求处理过程
dict 设计与实现
Python 性能分析原理
PyCodeObject
Python 弱引用
Python 性能分析原理(二)
Python 源码分析(一)
Python Annotated
Python 依赖注入
检查工具
Python MRO
Python 标记清除
PyFrameObject
Python 动态创建类
python freelist
python代码编译成pyc
Python mmap 内存映射文件
Python值得学习的内容
async Future 对象
asyncio loop的实现
asyncio.sleep 的实现
asyncio 原理
Python 代码加密
Python Token类型
Python 扩展入门(二)
Python 性能优化
本文档使用 MrDoc 发布
-
+
首页
PyCodeObject
``` typedef struct { PyObject_HEAD /* 头部信息, 我们看到真的一切皆对象, 字节码也是个对象 */ int co_argcount; /* 可以通过位置参数传递的参数个数 */ int co_posonlyargcount; /* 只能通过位置参数传递的参数个数, Python3.8新增 */ int co_kwonlyargcount; /* 只能通过关键字参数传递的参数个数 */ int co_nlocals; /* 代码块中局部变量的个数,也包括参数 */ int co_stacksize; /* 执行该段代码块需要的栈空间 */ int co_flags; /* 参数类型标识 */ int co_firstlineno; /* 代码块在对应文件的行号 */ PyObject *co_code; /* 编译后的字节码, 它是一个bytes对象 */ PyObject *co_consts; /* 常量池, 一个元组,保存代码块中的所有常量。 */ PyObject *co_names; /* 一个元组,保存代码块中引用的其它作用域的变量 */ PyObject *co_varnames; /* 一个元组,保存当前作用域中的变量 */ PyObject *co_freevars; /* 内层函数引用的外层函数的作用域中的变量 */ PyObject *co_cellvars; /* 外层函数中作用域中被内层函数引用的变量,本质上和co_freevars是一样的 */ Py_ssize_t *co_cell2arg; /* 无需关注 */ PyObject *co_filename; /* 代码块所在的文件名 */ PyObject *co_name; /* 代码块的名字,通常是函数名或者类名 */ PyObject *co_lnotab; /* 字节码指令与python源代码的行号之间的对应关系,以PyByteObject的形式存在 */ //剩下的无需关注了 void *co_zombieframe; /* for optimization only (see frameobject.c) */ PyObject *co_weakreflist; /* to support weakrefs to code objects */ void *co_extra; unsigned char *co_opcache_map; _PyOpcache *co_opcache; int co_opcache_flag; unsigned char co_opcache_size; } PyCodeObject; ```
gaojian
2024年10月11日 20:45
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码