模块可以高效地在代码的编写中使用,它将相关的函数集成,在需要时方便的调用。
本篇文章是面向Python有函数基础的朋友(零基础的朋友可以看专栏的往期文章)代码中的注释也包含了一些知识!我会使用一些生动的例子来阐述一个知识点,辅助大家理解记忆!
模块
模块(Module)是Python中组织代码的基本单位,它将相关的代码组织在一个文件中,使得代码更易于维护和重复使用。
模块可以包含:
- 函数
- 类
- 变量(可以是常用的常量)
- 可执行代码
标准库
Python自带许多有用的模块,我们将这些自带模块叫做标准库,例如:
-
数学相关
math
- 数学函数random
- 生成随机数statistics
- 统计计算
-
文件与操作系统
os
- 操作系统接口sys
- 系统相关参数和函数shutil
- 高级文件操作glob
- 文件名模式匹配
-
日期和时间
datetime
- 日期和时间处理time
- 时间访问和转换
-
网络与互联网
urllib
- URL处理socket
- 底层网络接口email
- 电子邮件处理
将函数存储在模块中
函数的优点之一就是可将代码块与主程序分离。给函数指定一个描述性名称,使主程序变得容易理解。我们可以将函数存储到模块的独立文件中,再将模块导入到主程序中。
创建模块
我们先创建一个模块,里面包含了Python的函数。
我们创建一个名
MyModule_1.py
文件作为模块
其中包含)了两个函数
def calculate_sum(a, b):
"""计算两个数的和
参数:
a (int/float): 第一个数
b (int/float): 第二个数
返回:
int/float: a和b的和
"""
return a + b
def is_even(number):
"""检查一个数是否为偶数
参数:
number (int): 要检查的数字
返回:
bool: 如果是偶数返回True,否则返回False
"""
return number % 2 == 0 -->
导入模块到主函数
创建一个叫做main.py
的文件作为主函数,然后我们可以调用同一个文件夹里的MyModule_1.py
模块。(注意:一定要放在同一个文件夹)
# 导入整个模块
import MyModule_1
# 使用模块中的函数
num1 = 10
num2 = 20
print(MyModule_1.calculate_sum(num1, num2)) # 输出: 30
print(MyModule_1.is_even(num1)) # 输出: True
# 或者导入特定函数
from MyModule_1 import calculate_sum
print(calculate_sum(1, 20)) # 输出: 21
导入模块内的所有函数
导入模块中的所有函数可以不再使用MyModule.is_even()
这种句点表示法,而是可以直接使用函数名is_even()
。
使用星号( * )运算符可以导入模块中的所有函数:
from MyModule_1 import is_even #导入特定函数
from MyModule_1 import * #导入所有函数
这种方法虽然比较方便,但是如果导入的函数与已有的函数重名的话,可以会导致意外的情况发生,所以一般不推荐这种方法。
使用as给模块指定别名
可以使用as为模块指定一个别名,这样可以用简短的别名调用函数。格式为:
import 模块名 as 模块别名
代码示例:
#将“MyModule”指定别名“M1”
import MyModule_1 as M1
M1.is_even() # 调用MyModule模块中的函数is_even
使用as给函数指定别名
除了可以为模块指定别名外,同样可以为模块的函数也指定一个别名。格式为:
from 模块名 import 函数名 as 函数别名
代码示例:
from MyModule_1 import is_even as ise # 导入MyModule_1模块中的is_even函数,并重命名为ise
# 检测数字是否为偶数
num_1 = ise(4)
print(num_1 ) # True
print(ise(5)) # False
包-Package也是模块相关的很重要的一个知识,我将在下一篇文章中介绍这个概念。跟着我一起学习,一步一步地理解程序。
往期回顾:
——>控制流基础:if语句-Python入门笔记
——>详记函数(上)–Pyhton入门笔记6
持续更新ing
The End