首先我们需要了解PyCodeObject 和 pyc 文件。简单的说,PyCodeObject是Python编译器编译后的结果,pyc是PyCodeObject的持久化保存。
以下详细介绍:当 Python 程序第一次运行时,编译的结果将保存在位于内存中的 PyCodeObject 中,在 Python 程序运行结束后,Python 解释器则将PyCodeObject 写回到 pyc 文件中。
当同一个 Python 程序第二次运行时,首先程序会在硬盘中寻找 pyc 文件,如果找到,则直接载入,否则就重复首次运行的过程。
所以我们可以说pyc是PyCodeObject 的持久化保存。