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重编译时,它会自动检查源文件和字节码文件的时间戳
  • 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建