模块是python程序架构的一个核心概念
模块可以让 曾经编写过的代码 方便的被复用

  • 模块就好比是工具包,要使用这个工具包中的工具,就要导入import 这个模块
  • 每一个以扩展名 py 结尾的python 源代码文件都是一个模块
  • 在模块中定义的 全局变量、函数 都是模块能够提供给外界直接使用的工具
    可以在一个python文件中定义变量或者函数
    然后在另一个文件中 使用import 导入这个模块
    导入之后,就可以使用模块名.变量 / 模块名.函数 的方式,使用这个模块中定义的变量或者函数

模块名 就是文件名,不能以数字开头(以数字开头 是无法在pycharm中通过导入这个模块的)

Pyc文件(c 是 compiled 编译过的意思)

  1. 浏览程序目录会发现一个_pycache_的目录
  2. 目录下会有.pyc文件
  3. 这个文件是由python解释器 将模块源码 转换为字节码
  4. python这样保存字节码是作为一种启动速度的优化

字节码
python 在解释源程序时是分成两个步骤的

  1. 首先处理源代码,编译生成一个二进制字节码
  2. 再对字节码进行处理,才会生成CPU能够识别的机器码

有了模块的字节码文件之后,下一次运行程序时,如果在上次保存字节码之后 没有修改过源代码,python将会加载.pyc文件并跳过编译这个步骤
当python重编译时,他会自动检查源文件和字节码文件时间戳,如果你又修改了文件,下次程序运行时,字节码将自动重新创建