什么是模块?
在编程中,有时我们会遇到需要重复使用的代码。如果把这些代码封装起来放到一个文件中,下次需要时直接调用,不仅省时省力,还能让代码更整洁。在Python中,这样的文件就叫做“模块”。
模块是一个包含Python代码的文件,通常以 .py 为后缀。它可以是别人写好的工具包,也可以是你自己编写的代码片段。通过模块,我们可以轻松实现代码的复用,就像用现成的积木搭建新项目一样。
我们之前学习过的脚本也是以 .py 为后缀的文件,但它们的用途不同:模块是一个工具箱,专注于封装功能,比如函数、类或变量,主要用来被其他文件导入使用;而脚本更像任务执行者,专注于完成一个具体的任务,通常是直接运行的文件。
简单来说,模块更多是为复用功能而设计,文件中的代码通常不会直接执行,而是通过 import 导入;脚本则是为解决问题而写,包含完整的程序逻辑,直接运行即可完成任务。不过,模块是脚本的基础:。脚本本质上也是一个模块,只不过它更强调执行,而模块更强调代码的组织和复用。因此,一个 .py 文件可以既是模块,又是脚本。它可以被当作模块导入,也可以直接运行作为脚本。
为什么要用模块?
模块的好处主要有以下几点:
- 代码复用:模块让我们可以随时调用写好的功能,不需要重复编写代码。
- 组织代码:模块将相关的代码集中在一个文件中,逻辑更清晰,维护更容易。
- 扩展功能:Python有大量现成的模块(被称为:标准库或第三方库),可以用来快速完成复杂的任务,例如数学计算、数据分析、爬虫等。
如何使用模块?
使用模块非常简单,只需要用 import 关键字导入模块,就可以使用它的功能了。以下是常见的使用方法:
1. 导入Python内置模块
和内置函数一样,Python叶自带了很多实用的内置模块,例如 math 模块(用于数学计算)。
我们来看一个示例:
# 使用 math 模块中的 sqrt() 函数计算平方根
result = math.sqrt(16)
print(result) # 输出 4.0
在上述代码里,我们先使用 import 模块名 导入模块。在这里就是用“import math”导入了“math”模块,这是 Python 的标准数学库,提供了许多常用的数学函数。
而后我们在对 result 赋值时,使用了 math.sqrt(16)。sqrt() 是 math 模块中的一个函数,它的作用是计算一个数的平方根。这里我们传入 sqrt 函数的参数值是 16,也就是让函数计算 16 的平方根。函数会返回计算得到的平方根,即 4.0。
注意:使用模块内的功能时,需要加上模块名,如 math.sqrt()。
2. 导入特定功能
如果只需要模块中的某个功能,可以直接使用 from 模块名 import 功能名 导入特定功能。这样写起来更简洁。例如:
# 直接使用 sqrt() 函数
print(sqrt(25)) # 输出 5.0
在上面代码中,我们使用 from math import sqrt 直接导入 math 模块中的 sqrt 函数。
注意:导入后可以直接使用功能名,而不需要加模块名前缀。
3. 为模块起别名
有些模块名很长,为了方便,我们可以用 import 模块名 as 别名 给模块起一个简短的别名。例如:
# 使用别名 m 调用模块中的函数
print(m.sqrt(36)) # 输出 6.0
4. 创建自己的模块
除了使用Python自带的模块,你还可以自己创建模块,即自定义模块。只需要将你的Python代码保存为 .py 文件,就可以在其他地方导入使用。例如:
- 先创建一个自己的模块,如:
greetings.py
def say_hello(name):
print("你好," + name + "!欢迎学习Python!")
然后,你可以像内置模块一样使用自定义模块:
greetings.say_hello("Alice") # 输出:你好,Alice!欢迎学习Python!
5. 在模块中查看帮助
如果不清楚某个模块的功能,可以使用 help() 查看它的使用说明。例如:
help(math) # 查看 math 模块的详细功能
练习:
- 使用 math 模块计算一个半径为5的圆的面积(公式:面积 = π × 半径²)。提示:math 模块中有一个名为 pi 的常量。
- 创建一个名为 mytools.py 的模块,其中包含一个名为 add_two_numbers(a, b) 的函数,用于计算两个数字的和。然后在另一个文件中导入并调用这个函数。
AI 助教
提示:您可在此提出学习中遇到的问题。回答由 AI 生成,可能存在错误,请注意甄别。
