创建可导入模块

已完成

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))

此模式允许文件既充当独立脚本 , 又充当可导入模块。

模块为何重要

  • 它们让每个文件专注于一个责任。
  • 它们使代码更易于测试,因为函数位于一个位置。
  • 它们使跨项目共享和重用代码变得自然。