编译系统的运行过程
源代码 --> 机器代码
- 解释器运行程序的方法
1.直接运行高级编程语言
2.转换高级编程语言码到一些有效率的字节码(Bytecode),并运行这些字节码
- Python解释语言特点
"拆解"代码:
首先当用户键入代码交给Python处理的时候会先进行此法分析,例如用户键入关键字或者当输入关键字有误时,都会被此法分析所触发,不正确的代码将不会被执行
下一步Python会进行语法分析,例如当"for i in test:"中,test后面的冒号如果写成其他符号,代码依旧不会被执行
在执行Python前,Python会生成.pyc文件,这个文件就是字节码1
如果不小心修改了字节码,Python下次重新编译该程序时会和其上次生成的字节码文件进行比较,如果不匹配则将会被修改过的字节码文件进行覆盖,以确保每次编译后字节码的准确性。
字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。简单来说就是在编译代码的过程中,首先会将代码中的函数、类等对象分类处理,然后生成字节码文件。有了字节码文件,CPU可以直接识别字节码文件进行处理,接着Python就可执行了。↩