Python 中 import 语句有什么作用?


Python 中的 import 语句用于将外部模块或库中的代码引入您的程序。这是一个强大的功能,允许您重用代码并避免在多个程序中重复代码。以下是一些关于如何使用 import 语句的示例。

导入单个模块

假设您想在程序中使用 math 模块,该模块提供了各种数学函数。要导入 math 模块,只需使用 import 语句,后跟模块名称。

示例

在这个例子中,我们导入了 math 模块,并使用 sqrt() 函数计算 36 的平方根。请注意,我们在函数名前加上了模块名称 (math.),以表明它来自导入的模块。

import math
# Now you can use functions from the math module
print(math.sqrt(36))  

输出

 6.0

使用别名导入模块

有时您可能希望在代码中为模块使用更短或更方便的名称。为此,您可以在导入模块时使用别名。

示例

在这个例子中,我们导入了 math 模块并为其指定了一个别名 m。然后,我们可以使用 m 而不是 math 来访问模块中的函数。

import math as m

# Now you can use the alias instead of the full module name
print(m.sqrt(36)) 

输出

 6.0

从模块导入特定函数

有时您可能只需要使用模块中的一个或几个函数,而不是导入整个模块。为此,您可以使用 from ... import 语法从模块中导入特定的函数。

示例

在这个例子中,我们只从 math 模块中导入了 sqrt() 函数,而不是导入整个模块。这可以使您的代码更有效率,也更容易阅读,尤其是在您只需要使用大型模块中的几个函数时。

from math import sqrt

# Now you can use the sqrt() function directly
print(sqrt(36))  

输出

 6.0

从模块导入所有名称

有时您可能希望将模块中的所有名称(变量、函数、类)导入到当前命名空间中。为此,您可以使用 from ... import * 语法。

示例

在这个例子中,我们使用通配符 * 将 math 模块中的所有名称导入。这通常不建议使用,因为它可能导致名称冲突,并使您的代码更难阅读。但是,在某些情况下,当您需要使用模块中的许多名称时,它可能很有用。

from math import *
# Now you can use all names from the math module
print(sqrt(36))  

输出

 6.0

从包中导入模块

在 Python 中,包是一个包含一个或多个模块以及 __init__.py 文件的目录。要从包中导入模块,您可以使用点表示法指定包和模块名称。这是一个示例

示例

在这个例子中,我们从 my_package 包中导入了 my_module 模块。请注意,my_package 必须是一个包含名为 my_module.py 的文件的目录,并且它还必须包含一个 __init__.py 文件以表明它是一个包。

import my_package.my_module
# Now you can use functions from the mymodule module
print(my_package.my_module.my_function())

从不同的目录导入模块

有时您可能希望从与主程序文件不在同一目录的目录中导入模块。为此,您可以使用 sys.path 变量将目录路径添加到 Python 路径中。这是一个示例

示例

在这个例子中,我们使用 sys.path 变量将 /path/to/my/module 路径添加到 Python 路径中。然后,我们可以使用标准 import 语句导入 mymodule 模块,并像往常一样使用模块中的函数。请注意,您应该将 /path/to/my/module 替换为您模块目录的实际路径。

import sys
sys.path.append('/path/to/my/module')
import my_module
# Now you can use functions from the my_module module
print(my_module.my_function())

更新于: 2023年8月11日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告