Python是半编译变解释的语言,是基于虚拟机的语言。
所谓编译,是指把源程序翻译成用机器语言表示的目标程序。而解释,则是指逐句输入、逐句翻译计算机一句一句执行,没有目标程序的产生。
Python程序在运行时,会将源码编译成字节码Python bytecode,然后进入解释器执行。编译的过程是发生在模块载入的那一刻。
第一次执行Python程序时,编译器将源代码编译为内存中的PyCodeObject,最后持久化写入.pyc文件。
再次执行该程序,因为已存在pyc文件,程序会核对文件时间戳和源码文件是否相同。如果相同则直接载入,否则重复上面过程。