第二章 Python运行程序

python运行程序的过程:

一、字节码编译

程序执行时,python内部先将py文件中的语句【源代码】编译成字节码。


字节码是什么:每一条python语句翻译成一组字节码指令


字节码的好处:比起源代码,字节码的运行速度快得多

字节码的存在形式【.pyc文件】:如果python进程在机器上【电脑】拥有写入权限,当程序运行后,在py文件的同级目录下可以看到一个.pyc文件,这里面即是py文件的字节码

保存pyc文件的好处:可以优化启动速度。如果py文件没有修改过,那么下次运行同一文件的时候,python会跳过编译步骤,直接加载.pyc文件。

python第二次运行同一程序时会自动检查源文件和字节码的时间戳。如果又保存了源文件,python检查到时间戳不一致,这时运行程序,会自动重新创建字节码【重新进行了编译过程】

没有.pyc文件:如果python无法在机器上写入字节码,字节码将会在内存中生成,并在程序结束时丢弃。

在大型程序中,最好保证python进程拥有机器的写入权限。因为字节码文件也是分发python程序的方式之一:如果python找到的都是pyc文件,同样可以运行程序,即使这个目录下面没有py源文件

二、python虚拟机【PVM】

程序编译成字节码或者字节码从已存在的.pyc文件中载入,之后,字节码发送到python虚拟机上执行。

PVM是迭代运行字节码指令的大循环,一个接一个完成操作【手动问号,不是很理解】

PVM时常表现为python系统的一部分,是实际运行脚本的组件。从技术上讲,它是所谓“python解释器”的最后一步

待续

猜你喜欢

转载自www.cnblogs.com/come202011/p/12788744.html