一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第14天,点击查看活动详情。
1.1 模块的概念和作用
- 模块是 python 程序架构的一个核心概念。
- 模块 相当于是一个工具包,要想使用这个工具包中的工具,就需要 导入
import这个模块。 - 例如: 每一个以扩展名
py结尾的python源代码文件都是一个 模块。 - 在模块中定义的 全局变量 、 函数 都是模块能够提供给外界直接使用的工具。
- 模块可以让 曾经编写过的代码 方便的被 复用。
1.2模块的快速体验
- 新建
h_max.py文件,并且编写以下代码:
def max(a,b):
if a > b
print(a)
else
print(b)
name = "小刘"
- 新建
h_print.py文件,并且编写以下代码:
import h_max
h_max.max(1,2)
print(h_max.name)
结论:
- 可以 在一个 python 文件 中 定义 变量 或者 函数
- 然后在 另外一个文件中 使用
import导入这个模块 - 导入之后,就可以使用
模块名.变量/模块名.函数的方式,使用这个模块中定义的变量或者函数 注意: 模块名也是一个标识符 - 标示符可以由 字母、下划线 和 数字 组成
- 不能以数字开头
- 不能与关键字重名
- 如果在给 Python 文件起名时,以数字开头 是无法在
PyCharm中通过导入这个模块的
1.3 pyc 文件(了解)
C 是 compiled 编译过 的意思
操作步骤
- 浏览程序目录会发现一个
__pycache__的目录 - 目录下会有一个
h_max.cpython-35.pyc文件,cpython-35表示python解释器的版本 - 这个
pyc文件是由 python 解释器将 模块的源码 转换为 字节码python这样保存 字节码 是作为一种启动 速度的优化
字节码
-
python在解释源程序时是分成两个步骤的- 首先处理源代码,编译生成一个二进制字节码
- 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
-
有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,python 将会加载 .pyc 文件并跳过编译这个步骤
-
当
python重编译时,它会自动检查源文件和字节码文件的时间 -
如果你又修改了源代码,下次程序运行时,字节码将自动重新创建