Python是一门解释性语言,我们在命令行中输入python hello.py时,其实是激活了Python的“解释器”,告诉解释器:要开始工作了。可是在“解释”之前,其实执行的第一项工作和Java一样,是编译。
pyCodeObject则是Python编译器真正编译成的结果。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。