今天小编带大家认识一下python字节码和虚拟机
(文章最后有惊喜哦!)
python字节码编译
当程序执行肘,python内部(对大多数用户是完全隐藏的)会先将源代码(文件中的语句)编译成所谓字节码的形式。编译是一个简单的翻译步骤,而且字节码是源代码底层的、与平台无关的表现形式。概括地说, Python通过把每一条源语句分解为单一步骤来将这些源语句翻译成一组字节码指令。这些字节码可以提高执行速度: 比起文本文件中原始的源代码语句,字节码的运行速度要快得多。
你会注意到,前面一段所提到的这个过程对于你来说完全是隐藏起来的。如果Py thon进程在机器上拥有写入权限,那么色将把程序的字节码保存为一个以.pyc为扩展名的文件(".pyc" 就是编译过的".py" 源代码) 。当程序运行之后,你会在那些掘代码的附近(也就是说同一个目录下)看到这些文件。
python这样保存字节码是作为一种启动速度的优化。下一次运行程序时,如果你在上次保存字节码之后没有修改过源、代码的话, Python将会加载.pyc文件并跳过编详这个步骤。当Python必须重编译时,它会自动检查原文件和字节码文件的时间戳:如果你又保存了源代码,下次程序运行肘,字节码将自动重新创建。
如果Python无法在机器上写入字节码,程序仍然可以工作: 字节码将会在内存中生成并在程序结束时简单地丢弃 。尽管这样,由于.pyc文件能够加速启动,你最好保证在大型程序中可以写入。字节码文件同样是分发Python程序的方法之一:如果Python找到的都是.pyc文件,它也很乐意运行这个程序,尽管这里没有原始的.py源代码文件
python虚拟机( PVM )
一且程序编译成字节码(或字节码从已经存在的.py c文件中载入) ,之后的字节码发送到通常称为Python虚拟机( Python Virtual Machine , 简写为PVM) 上来执行。PVM听起来比它本身给人的印象更深刻一些。实际上,它不是一个独立的程序,不需要安装。
事实上,PVM就是迭代运行字节码指令的一个大循环, 一个接一个地完成操作。PVM是Python的运行引擎,它时常表现为Python 系统的一部分,并且它是实际运行脚本的组件。从技术上讲,它才是所谓" Python解释器"的最后一步。
记住所有的这些复杂性都是有意地对Python程序员隐藏起来的。字节码的编译是自动完成的,而且PVM也仅仅是安装在机器上的P ython系统的一部分。再一次说明,程序员只需简单地编写代码并运行包含有语句的文件。
写在最后
最近很多想入坑python的小白吐槽没有学习资料,不止如何入手,小编特地准备了十大pythonn入门书籍,pdf格式,适合萌新入门观看,如下!
这些资料绝对比那些在群里漫天飞的资料强多了,都是我很辛苦搜集的。相信看完这些,你绝对可以找到一份好工作!为了感谢大家的支持,今天我在这里统一说下吧,关注微信公众号:‘QA浪涛',回复"我爱python",(只有7天有效期哦,快收藏吧)就可以免费领取上图全套学习资料!
1.《python如何查看字节r,Python 字节流解析》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《python如何查看字节r,Python 字节流解析》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3295020.html