模块:

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在python中,一个.py的文件就称之为一个模块(Module)。

使用模块的好处:

  1. 提高了代码的可维护性,其次编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括python内置的模块和来自第三方的模块。

  2. 使用模块可以避免函数名和变量名的冲突,每个模块都有独立的命名空间,因此相同的名字的函数和变量完全可以分别存在不同的模块中,所以,在编写模块时,不用考虑名字是否会与其他模块冲突。

模块的分类:

  1. 内置标准模块(又称标准库)执行help('modules')查看所有python自带的模块列表

  2. 第三方开源模块,可通过pip install模块名联网安装

  3. 自定义模块

模块的调用:

import module
from module import xxx
from module.xx.xx import xx as rename
from module.xx.xx import *

注意:模块一旦被调用,即相当于执行了另外一个py文件里的代码

包:

当你的模块文件越来越多,就需要对模块文件进行划分,把相同功能的模块放到一个文件夹,像上边这样,一个文件夹管理多个模块文件,这个文件夹就称之为包。包就是文件夹,但该文件夹下边必须存在__init__.py文件,该文件的内容可以为空,__init__.py用于标识当前文件夹是一个包。

文件夹被python解释器视为package需要满足两个条件:

文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。

不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)。