Python编译理解
Python的语言类型
Python是一种编译型语言还是一种解释型语言? 确切地说Python是一种先编译再解释的语言。Python是将源代码先编译成一种节点码名为pycodeobject 随后通过pycodeobject直接执行相关操作。若Python文件中没有Pycodeobject 则编译器会将源代码先翻译成Pycodeobject文件后执行,若Python文件中含有import b 意思为次文件中含有与其他文件相关的连接时,则编译器会进入如图所示 “是” 路段,进而检查另一文件是否含有节点码。若另一节点含有节点码,则进入下一步,判断节点码前后时间是否一致与另一文件修改时间,若时间一致,则通过pycodeobject码执行。相反若不存在另一文件不存在节点码,编译器会更新节点码,并将更新的节点码储存起来,以备下次使用。
实验验证理论
新建两个Python文件 分别为a.py和 b.py
在a.py中输入简单的print(“XXX”)保存退出 将文件放入python中解释运行
桌面没有变化直接执行了 应为pycodeobject是直接放在内存中的 我们是看不到的
当我们开始编辑第二个文档b.py 输入如图所示的命令 保存退出。
编辑第一个文档 将第一个文档用到第二个文档。代码意思是用到b的代码,保存退出。
将文件a在次放入解释器中执行 如图所示。桌面上多出了,一个新文档,这是由于pycodeobject码被记录下来,以备下次使用。
若此时去更改b 文件的内容,使文件b的修改时间和pyc 文件时间不一致,存盘退出。
如图所示第一行第二行已经改了
时间已经更新了 19:38分钟了
而这文件可以被查看 小编查看他看看
若你改文件a.py则不会出项 pyc文件的更新 若要将文件a.py的pycodeobject 保存可以输入命令
以上是我对Python的理解 头一次写博,希望有什么讲得不对的大家能受出来,以后一起互相促进互相学习。谢谢大家