参考帖:http://blog.youkuaiyun.com/lujiandong1/article/details/50067655,写的很棒
之前学习c的时候,它的修饰词是:高级语言,编译型语言。
我们如何理解这句话呢,c语言是用高级语言编写的机器,不能直接执行(机器语言才能直接执行,例如汇编语言),c语言需要先编译、链接,最终生成可执行的二进制文件,机器才能执行。
但是我们学习python的时候,说它是“解释型”语言。
直到遇见.pyc,就疑惑了,这是怎么回事? .pyc是不是编译的中间产物?
原来python执行时,先生成编译结果并保存在内存的pcCodeObject中。程序运行结束时把编译结果写入硬盘的pyc。再次运行时候,从硬盘直接找pyc,找到就可以直接取pyc了。
什么样的.py才会有.pyc? 使可重入的。就是被别的文件import的。