创建可导入模块
Tip
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
一旦程序具有多个函数,将所有内容保存在单个文件中就变得难以导航。 Python通过模块解决此问题。 模块只是一个 .py 文件,其函数和变量可从其他文件中重复使用。
创建自己的模块
可以导入写入的任何Python文件作为模块。 模块的名称是没有扩展名的 .py 文件名。
假设你有这个文件,math_utils.py:
# math_utils.py
def add(a, b):
return a + b
def multiply(a, b):
return a * b
导入模块
从同一文件夹中的另一个文件,可以引入 math_utils 并使用其函数:
# app.py
import math_utils
print(math_utils.add(2, 3)) # Output: 5
print(math_utils.multiply(4, 5)) # Output: 20
导入特定名称
如果只需要模块中的一些内容,则可以按名称导入它们。 使用此语法,可以在没有模块前缀的情况下使用它们:
from math_utils import add, multiply
print(add(2, 3)) # Output: 5
print(multiply(4, 5)) # Output: 20
使用别名
如果模块名称很长或与另一个名称冲突,则可以为它提供较短的别名: as:
import math_utils as mu
print(mu.add(2, 3)) # Output: 5
你会经常在第三方库中看到这种模式——例如,import pandas as pd。
if __name__ == "__main__": 块
当您 import 文件时,Python 会运行其中的代码。 如果要包含仅应在直接执行文件时运行的代码,请将其放入块中 if __name__ == "__main__": :
# math_utils.py
def add(a, b):
return a + b
if __name__ == "__main__":
# Quick self-test — only runs when this file is executed directly
print(add(2, 3))
此模式允许文件既充当独立脚本 , 又充当可导入模块。
模块为何重要
- 它们让每个文件专注于一个责任。
- 它们使代码更易于测试,因为函数位于一个位置。
- 它们使跨项目共享和重用代码变得自然。