python是说明语言
说明语言是什么? 所有学过c语言的同学都知道c语言是编译语言,所以在这里要明白
说明语言
与
编译语言
有什么区别?
编译语言:
编译一次即可将源代码编译成机器语言,后续运行不需要重新编译,直接使用以前编译的结果即可; 因此,执行效率高。 例如,c语言、c等
说明语言:
源代码不能直接编译成机器语言。 编译成中间代码后,解释器解释和执行中间代码的执行效率很低。 例如,python、JS等
因此,人们常说c语言的基本语言(接近内核),python是高级语言(远离内核)。
python运行效率慢是python的最大缺点,当然目前在实际项目中有很多优化方案可以提高python的效率。 这个后期再谈吧。
python的执行过程
根据说明语言的性质,系统在导入python代码时通常会执行以下步骤:
编译程序
m.py
m.pyc
PVM运行
m.py (源代码) —— m.pyc (字节码) —— PVM (虚拟机运行)。
运行python时,源代码将翻译为字节码,然后字节码将传输到虚拟机并运行。
其中的字节码位于内存中的PyCodeObject中,运行完成后,python将PyCodeObject写入. pyc文件。 在. python2中为. pyc,在python3中为_pycache__的子目录。 pyc文件实际上是pycche
. pyc文件可提高代码的执行速度。
下次运行源代码时,将识别源代码和. pyc文件的结尾
修改时间一样吗
可以用同样的方式直接执行字节码; 如果不相同,则丢弃原始字节码,
从源代码重新编译为新的字节码。