Python __import__() 函数



Python __import__() 函数是一个内置函数,用于在运行时导入模块。应该注意的是,通常不鼓励使用此函数,因为它可能会更改 import 语句的语义。

在我们的 Python 程序中,我们需要来自其他模块的各种函数和类。虽然我们也可以在代码的开头导入命名模块,但有时,我们可能只需要该模块来临时用于几行代码。在这种情况下,我们使用 __import__() 函数。

语法

以下是 Python __import__() 函数的语法 -


__import__(name, globals, locals, fromlist, level)

参数

Python __import__() 函数接受以下参数 -

  • name − 它表示我们要在程序中导入的模块的名称。
  • globals − 它指定如何解释指定的模块。
  • locals − 它还指定如何解释导入的模块。
  • fromlist − 此参数指定我们要作为列表导入的对象或子模块。
  • level − 级别 0 表示绝对级别,正数表示相对级别。

返回值

Python __import__() 函数返回我们指定的对象或模块。

__import__() 函数示例

练习以下示例来理解 Python 中 __import__() 函数的用法:

示例:使用 __import__() 函数

以下示例显示了 Python __import__() 函数的基本用法。在这里,我们将一个名为 “math” 的模块导入到我们的程序中。


#importing the module
importingModule = __import__("math")
# using sqrt method from the module
print(importingModule.sqrt(49))

当我们运行上述程序时,它会产生以下结果——

7.0

 

示例:在运行时使用 __import__() 调用模块的特定方法

我们还可以从给定的模块中选择特定的方法以导入到我们的程序中。在下面的代码中,我们只从 Math 模块导入 sqrt() 方法。


#importing only sqrt method from Math module
importingSqrt = getattr(__import__("math"), "sqrt")
print("The square root of given number:")
print(importingSqrt(121))

以下是上述代码的输出 -

The square root of given number:
11.0

示例:使用 __import__() 函数导入带有别名的模块

下面的代码演示了如何通过为其提供别名来导入 numpy 模块


#importing only numpy module
np = __import__('numpy', globals(), locals(), [], 0)
print("The newly created array:")
print(np.array([22, 24, 26, 28, 30, 32]))

上述代码的输出如下 -

The newly created array:
[22 24 26 28 30 32]