如何在 Python 文件中导入另一个 Python 文件?


在探索 Python 编程世界时,您会发现模块化和可重用代码是必不可少的。在 Python 中,您可以从另一个 Python 文件中导入一个 Python 文件;这为组织代码并在脚本之间共享功能开辟了全新的可能性。在本文中,我们将探讨四种不同的 Python 文件导入方式,每种方式都有其自身的优势和用例。无论您是 Python 编码的初学者还是专家,我们都会逐步解释并提供真实的代码示例来指导您完成每种方法。在本文结束时,您会发现自己已经掌握了 Python 文件导入的技巧;这将使您能够编写更具组织性和效率的 Python 代码。让我们开始这段旅程,学习如何增强 Python 代码的模块化和可重用性!

理解 Python 文件导入

在立即开始代码示例之前,让我们尝试了解 Python 文件导入的概念。在 Python 中,导入过程使您能够在另一个 Python 文件中使用在一个 Python 文件中定义的函数、类和变量。此强大功能极大地有助于代码的可重用性和模块化;这使您能够根据功能将代码拆分为多个文件。

使用 import 语句

导入 Python 文件最常见的方法之一是使用 import 语句。

假设我们有一个名为 math_operations.py 的文件,其中包含以下代码,并定义了多个函数

在此代码示例中,我们使用 import 语句在另一个文件(main.py 文件)中提取 math_operations.py 文件的功能。然后,我们确保从 main.py 文件中的 math_operations 模块调用 add() 和 subtract() 函数。

# math_operations.py

def add(a, b):
   return a + b

def subtract(a, b):
   return a - b

现在,在另一个文件中,假设为 main.py,我们继续使用 math_operations.py 中的函数。

示例

# main.py
import math_operations

result = math_operations.add(5, 4)
print(result)  

result = math_operations.subtract(10, 6)
print(result) 

输出

9
4

使用 from...import 语句

您必须知道,“from...import”语句使您能够从 Python 文件中导入特定的函数或变量。

在此示例中,我们继续使用“from...import”语句有选择地仅从 math_operations.py 文件中导入 multiply() 和 divide() 函数。此技术再次允许我们直接使用这些函数,而无需引用模块名称。

继续使用 math_operations.py 文件

# math_operations.py

def multiply(a, b):
   return a * b

def divide(a, b):
   return a / b

现在,在 main.py 中,我们可以仅导入所需的函数

示例

# main.py
from math_operations import multiply, divide


result = multiply(2, 8)
print(result)  

result = divide(10, 5)
print(result)  

输出

16
2.0

使用 import...as 语句

将看到,“import...as”语句允许您为导入的模块或函数提供别名;这使代码更简洁紧凑。

在此处,在此代码片段中,我们使用“import...as”语句使用别名 math_ops 导入 math_operations 模块。现在,在调用函数时,我们可以使用更短、更方便的名称。

示例

# main.py
import math_operations as math_ops

result = math_ops.add(3, 8)
print(result) 

result = math_ops.subtract(15, 9)
print(result)  

输出

11
6

使用 exec()

exec() 函数是一个非常有用的函数,它确实用于动态导入 Python 文件。

在此代码中,我们使用 exec() 函数,并且如文件变量 file_to_import 所示,动态导入 Python 文件。当您需要根据运行时条件导入文件时,此方法或技术非常方便。

示例

# main.py
file_to_import = "math_operations.py"
exec(f"import {file_to_import} as math_ops")

result = math_ops.add(3, 6)
print(result) 

输出

9

导入 Python 文件是一项基本且基础的技术,使您能够编写模块化和可重用代码。无论您使用 import 语句、from...import、import...as 还是 exec(),每种方法都根据您的代码组织和项目需求提供独特的优势。

在继续您的 Python 之旅时,请认识并利用导入文件的功能来创建更具组织性和效率的代码库。导入 Python 文件的技能有望提升您的编码体验,并使您能够构建令人印象深刻的 Python 项目。

更新于:2023年7月28日

4K+ 浏览量

开启您的 职业生涯

完成课程获得认证

开始学习
广告