python的编译
一直以来都认为python作为解释性语言,不存在编译过程,后来意识到自己是错的。整理了相关概念,加深印象,部分理解如有错误,还望指出。
python源代码可以编译成pyc、pyo、pyd等几种文件格式。
pyc文件
python -m py_compile file.py
得到pyc文件
pyc文件是一种py文件经过编译后生成的二进制文件。编程pyc文件后,程序加载速度得到提高,且pyc文件是一种的跨平台的字节码,由python虚拟机来执行(这个概念类似于JAVA虚拟机)。pyc文件内容跟python版本息息相关,不同版本下编译的结果不同,不一定兼容。
pyo文件
python -O -m py_compile file.py
得到pyo文件
pyo是经过优化编译后的文件
pyd文件
pyd是python的动态链接库,概念类似于C++的动态链接库(C++中xxx.so格式即是动态链接库)。好处是,对于大型项目,部分功能代码短期内不需要改动,编译项目时可以选择将这些不需要改动部分编译成动态链接库,下一次编译时直接加载动态链接库即可,省去重复编译的时间耗费。
如果有一天我们淹没在茫茫人海中庸碌一生,那一定是我们没有努力活得丰盛