Python措施的执行道理(1)
发布时间:2018-04-14 06:07:16 所属栏目:编程 来源:tech.uc.cn
导读:副问题#e# 1. 进程概述 Python先把代码(.py文件)编译成字节码,交给字节码假造机,然后假造机一条一条执行字节码指令,从而完成措施的执行。 2. 字节码 字节码在Python假造机措施里对应的是PyCodeObject工具。 .pyc文件是字节码在磁盘上的示意情势。 3. p
Python假造机的道理就是模仿可执行措施再X86呆板上的运行,X86的运行时栈帧如下图: 若是test.py用C说话来实现,会是下面这个样子:
Python假造机的道理就是模仿上述举动。当产生函数挪用时,建设新的栈帧,对应Python的实现就是PyFrameObject工具。 7.1 PyFrameObject
那么对应Python的运行时栈就是这样子: 7.2 执行指令 执行test.py的字节码时,会先建设一个栈帧,以下用f暗示当前栈帧,执行进程注释如下: test.py的标记名荟萃和常量荟萃
test.py的指令序列 上面的CALL_FUNCTION指令执行时,会建设新的栈帧,并执行func的字节码指令,以下用f暗示当前栈帧,func的字节码执行进程如下: func函数的标记名荟萃和常量荟萃
func函数的指令序列 7.3 查察栈帧 假如你想查察当前栈帧,Python提供了sys._getframe()要领可以获取当前栈帧,你只必要在代码里插手代码如下:
原文链接:http://tech.uc.cn/?p=1932 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |