一、包
包的定义
在Python中,包是一种将相关模块组织在一起的方法。包本质上是一个目录,其中包含一组模块(Python文件),并且包含一个名为 __init__.py 的文件,用于标识该目录是一个Python包。在包中,可以进一步嵌套其他子包,以形成更复杂的结构。通过将模块组织成包,可以更好地组织和管理代码。
包的命名规则
包的命名通常使用小写字母,使用下划线 _ 分隔单词,避免使用空格和其他特殊字符。例如,如果你的应用程序名为 "MyApp",那么可以将其命名为 my_app,并将其作为Python包组织在一起。另外,为了避免与Python标准库或第三方库的名称冲突,建议在包名前添加一个唯一的前缀。
包的常用操作
导入包和包中的模块
可以使用 import 语句导入包和包中的模块。
#导入整个包,可以使用包中的所有模块
import mypackage
导入包中的指定模块
可以使用 from 包名 import 模块名 的语法导入包中的指定模块。
from mypackage import module1
导入包中的子包
与导入模块类似,可以使用点 . 来访问子包的模块。
#导入包中的子包
import mypackage.subpackage
#导入子包中的某个模块
from mypackage.subpackage import module
自定义包
可以在Python中创建自己的包,只需创建一个具有 __init__.py 文件的文件夹,并在其中添加模块文件。
二、模块
模块的定义
模块是 Python 程序的基本组成部分之一,它是一个包含了一些 Python 定义和语句的文件,可以被其他程序引入并使用。模块可以包含变量、函数、类等多种定义。Python 标准库中就有很多模块,如 math、random、time 等。
模块的命名
Python 模块的命名一般要遵循以下规则:
模块名应该是一个有效的 Python 标识符,只能包含字母、数字和下划线,不能以数字开头。
模块名应该用小写字母命名,避免使用大写字母和特殊字符,比如空格、横线等。
模块名应该简短而具有描述性,易于记忆和使用。
如果模块名由多个单词组成,通常使用下划线分隔,例如 my_module。
除了这些基本规则外,还有一些 Python 社区的惯例和约定,例如:
用单数形式命名模块,而用复数形式命名包(即由多个模块组成的大型模块集合)。
在模块中使用文档字符串(docstring)来描述模块的功能和使用方法,方便其他程序员理解和使用该模块。
模块的常用操作
导入模块
使用 import 语句导入模块,可以使用模块中的函数、变量等成员。
import module1
导入模块中的部分成员
使用 from 语句导入模块中的部分成员,可以直接访问被导入的成员,而不需要通过模块的命名空间。
from math import sqrt, pow #math=导入模块,sqrt=模块成员1, pow=模块成员2
给模块起别名
在 Python 中,我们可以使用 as 关键字为模块或模块成员起别名。
给模块起别名
import module1 as alias1 #module1=导入模块, alias1=给该模块指定的别名
给模块中的成员起别名
from module_name import member_name as alias_name
'''module_name=导入模块, member_name=指定别名的成员名, alias_name='''
ps:别名和模块名之间使用空格隔开,而不是使用逗号、
自定义模块
在 Python 中,我们可以通过创建模块文件来定义自己的模块。模块文件的扩展名为 .py,可以包含任意的 Python 代码,包括变量、函数、类等。
三、导入第三方包
要导入第三方包,需要先安装该包。可以使用pip进行安装。
#安装
pip install pytest
#安装后使用import语句导入该包的模块进行使用
import pytest