编译性语言
源码--》编译--》链接--》可执行文件
- 拿着这个可执行文件到任意平台去执行,运行时不用再编译
- 一次编译,到处运行
解释性语言
- 在程序运行时被即时翻译成原生CPU指令的语言
python源码--》python解释器(生成字节码文件)--》机器执行
- 运行时再翻译成机器指令,“每次”运行时虚拟机都会先把源码编译成字节码(即pyc文件,也不是每次都会编译,会缓存pyc文件),然后再将字节码解释成机器语言给机器执行。
- python的字节码文件缓存机制:第一次运行后,会将通用的模块编译成字节码文件后以pyc文件写入硬盘保存,下次调用此模块时,如果模块内容没有发生变化,就直接用此pyc文件,而不会再重新编译一次,加快了运行速度。
- 依赖于解释器,源码运行的环境需要python解释器
- 字节码:专门供Python的虚拟机来执行的命令
- python解释器:“翻译官”角色,将字节码先编译成“pyc”文件,然后解释成机器语言执行
参考:
Python程序的执行过程原理(解释型语言和编译型语言)
Python字节码(.pyc)介绍