Pyc 文件(了解)

Pyc 文件(了解)



文章目录

  • Pyc 文件(了解)
    • 操作步骤
    • 字节码
    • 自己理解


转载于:
B站的Python课程讲义-作者未知-语雀
转载仅供学习记录,请关注原作者。

ccompiled编译过 的意思

操作步骤

  1. 浏览程序目录时会发现一个 __pycache__ 的目录
  2. 目录下会有一个 xxx.cpython-35.pyc 文件,cpython-35 表示 python 解释器的版本
  3. 这个 pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码
    • Python 这样保存 字节码 是作为一种启动 速度的优化

字节码

  • Python 在解释源程序时时分成两个步骤的
    • 首先处理源代码,编译 生成一个二进制 字节码
    • 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
  • 有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,Python 将会加载 .pyc 文件并跳过编译这个步骤
  • Python 重编译时,他会自动检查源文件和字节码文件的时间戳
  • 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建

自己理解

.pyc 文件只是对 import 所导入模块的编译缓存

cache 表示缓存,里边放置的文件为 xxx.cpython-35.pyc 格式文件,cpython 是官方使用 C 语言开发的 python 解释器,35 表示解释器版本是 3.5 的版本,.pyc 说明该文件是使用官方开发的 解释器编译过的字节码文件。
python 是解释型语言,在程序执行时,从上向下,解释一行,执行一行。如果每次都要把程序中的每行代码依次解释,这样程序执行速度显然不够快。
如果我们在程序中使用 import 关键字导入一个模块(模块是一个提供工具的工具包),通常一个模块中的工具是已经开发测试完成可以直接使用的,而这个模块中的代码又会很少修改,既然很少修改,当 python 的解释器发现程序中使用 import 关键字导入模块时,在执行程序的时候,就会先把这个模块编译成一个二进制文件,编译成二进制文件之后就不用解释一行执行一行了,使用这种方式就使得程序的执行速度有了一个非常明显的改善,这就是 .pyc 文件的作用,同时如果我们在开发的时候,对模块文件进行了修改,如果再一次执行程序,依然会重新生成对 import 导入模块的编译缓存

你可能感兴趣的:(python学习,python)