Python学习(7)
- 一、python的模块
- 二、Pyc 文件
一、python的模块
模块是python程序架构的一个核心概念
- 模块就好比是工具包,要想使用这个工具包中的工具,就需要导入import这个模块
- 每一个以扩展名py结尾的python源代码文件都是一个模块
- 在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具
示例:
test_分隔符模块.py
def print_line(char, times):
"""定义一个函数能过打印 任意重复次数 的字符"""
print(char * times)
def print_lines(char, times, row_num):
"""打印多行分割线
:param char: 分割线使用的分割字符
:param times: 分割线重复的次数
:param row_num: 打印行数
"""
row = 0
while row <= row_num:
print_line(char, times)
row += 1
name = "测试模块"
test_体验模块.py
import test_分隔符模块
test_分隔符模块.print_line("+", 50)
print(test_分隔符模块.name)
运行test_体验模块.py结果:
++++++++++++++++++++++++++++++++++++++++++++++++++
测试模块
总结:
- 可以在一个python文件中定义变量或者函数
- 然后在 另外一个文件中 使用import 导入这个模块
- 导入之后,就可以使用 模块名.变量 / 模块名.函数 的方式,使用这个模块中定义的变量或者函数
模块可以让曾经编写过的代码 方便被复用。
模块名也是一个标识符,命名规则与标识符一致。
如果在给python文件起名时,以数字开头 是无法在pycharm中通过导入这个模块的
二、Pyc 文件
- C 是compiled编译过的意思
- pyc 文件是由Python 解释器将模块的源码转换为字节码
- python 这样保存字节码是作为一种启动速度的优化
字节码
- python 在解释源程序时是分成两个步骤的
1.首先处理源代码,编译生成一个二进制字节码
2.再对字节码进行处理,才会生成CPU能够识别的机器码
- 有了模块的字节码文件之后,下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,python将会加载.pyc文件并跳过编译这个步骤
- 当python重编译时,它会自动检查源文件和字节码文件的时间戳
- 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建