一.模块概述
在python中,一个扩展名为.py的文件就被称为一个模块。
使用模块还可以提高代码的可重用性,也可便于维护。
二.自定义模块
在Python中,自定义模块有两个作用:一是规范代码,让代码便于阅读;另一个是方便其他程序可使用已经编写好的代码,以提高开发效率。自定义模块主要分为两部分:一部分是创建模块,另一部分是导入模块;
①创建模块
创造模块,是指可以将模块中的相关代码编写在一个单独的文件中,并且以"模块名+.py"的形式命名文件。
(创建模块时,设置的模块名不能是Python自带的标准模块名称。)
示例:
# my_module.py
def greet(name):
"""Return a friendly greeting."""
return f"Hello, {name}!"
def farewell(name):
"""Say goodbye."""
return f"Goodbye, {name}!"
②使用import语句导入模块
语法形式:
import modulename[as alias]
modulename:表示要导入模块的名称。
as alias:表示给模块起的别名,通过别名也可以使用模块。
示例:
import my_module
print(my_module.greet("Alice"))
print(my_module.farewell("Bob"))
③使用from...import语句导入模块
在使用import语句导入模块时,每执行一条import语句都会创建一个新的命名空间,并且在该命名空间中执行与.py文件相关的所有语句。而使用from...import语句导入模块后,不需要在添加前缀,直接通过具体的变量、函数和类名等访问即可。
语法形式:
from modelname import member
示例:
from my_module import greet # 导入my_module模块中的greet函数
三.Python中的包
①Python程序的包结构
在实际项目开发时,通常情况下,会创建多个包用于存储不同类的文件。
②创建包和使用包
(1)创建包
创建包实际上就是创建一个文件夹,并且在该文件夹中创建一个名称为“init.py”的Python文件。在init.py文件中,可以不编写任何代码,也可以编写一些Python代码。在init.py文件中所编写的代码,在导入包时会自动执行。
例如:
(2)使用包
创建包以后,就可以在包中创建相应的模块,然后再使用import语句从包中加载模块。从包中加载模块通常有以下3种方式:
a.通过“import + 完整包名 + 模块名”形式加载指定模块
b.通过“from + 完整包名 + import + 模块名”形式加载指定模块
c.通过“from + 完整包名 + 模块名 + import + 定义名”形式加载指定模
四.引用其他模块
①导入和使用标准模块
在Python中,自带了很多实用的模块,称为标准模块(也可以称为标准库)。
对于标准模块,我们可以直接使用import语句将其导入Python文件来使用。例如:
import random
print(random.randint(0, 10))
Python常用的内置标准模块及其描述
模块名 | 描述 |
---|---|
sys | 与Python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供了访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自网上(服务器上)的数据的标准库 |
json | 用于使用JSON序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供算术运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
shutil | 用于进行高级文件操作,如复制、移动和重命名等 |
logging | 提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能 |
tkinter | 使用Python进行GUI编程的标准库 |
②第三方模块的下载与安装
在进行Python程序开发时,除了可以使用Python内置的标准模块外,还有很多第三方模块可以被我们所使用。对于这些第三方模块,可以在Python官方推出的PyPI · The Python Package Index中找到。
在使用第三方模块时,需要先下载并安装该模块,然后就可以像使用标准模块一样导入并使用了。下载和安装第三方模块可以使用Python提供的pip命令实现。pip命令的语法格式如下:
pip <command> [modulename]