python是一种解释型语言,在运行python程序时,会经过以下几个步骤
- 加载python解释器到内存
- python解释器占领cpu,按照python语法翻译一句代码为二进制
- python解释器继续控制cpu,执行翻译后的程序
- 每解释一句,就执行一句,直到运行结束
由于cpu是真正的工作者,cpu只认识二进制,python这种解释型语言对于cpu来说性能是不高的。因为对编译型语言来对比,在执行时不用再翻译为二进制,它已经是编译好了的二进制。
python解释器本身并不大,对python2.7来说仅有3.4MB,运行速度也还算可以。
但python为了更快,参考了编译型语言,在执行后,会生成.pyc文件( 仅针对被引用的模块文件 ),这是为了让下次运行时直接使用翻译好的程序,省去翻译过程。(ps: 解释器只是做一些优化,效果远不能达到编译型效率)