语言大概分为解释性语言和编译型语言,
解释型语言大概就是指程序执行的时候,执行一句,翻译一句给机器
编译型语言大概为在程序运行之前,预编译翻译为机器语言
java和python是属于中间的那种,先将程序预编译为一种人类语言与机器语言之间的语言,当运行的时候再继续编译
所以java有一个javac hello.java 这样的预编译过程
而python就没有了这过程,因为python已经处理好了
当python运行的时候,都会检测目录下是否有同名的pyc的文件,如果没有,就会第一次编译,同时产生一个pyc文件,这个pyc文件其实就是机器语言能读懂的文件,
当第二次运行时,就会直接运行pyc文件(同时也会比较pyc文件与源文件的更新时间,如果源文件时间更新,就说明源文件代码有更换,重新编译)