python导入模块中的函数

  • Post category:Python

Python 中可以通过 import 关键字导入模块和模块中的函数。导入模块可以借助于模块的命名空间,防止命名冲突。导入函数可以减少代码重复,增强代码可读性。

导入模块:

在 python 中,导入模块可以通过以下方式:

1. import

import 模块名

当我们执行import 模块名时,Python 解释器会执行以下操作:

  1. 构建一个名为 模块名 的命名空间。
  2. 加载并执行名为 模块名 的 py 文件(如果在导入的时候发现该模块还没有被导入过)。
  3. 在该命名空间下定义该模块中的一切(例如函数、变量)。
  4. 将该命名空间加入到当前程序中。

导入模块后可以通过 模块名.变量名模块名.函数名() 的方式使用该模块和它里面的函数或变量。

例如,导入 os 模块并使用其 getcwd() 函数:

import os

print(os.getcwd())

上面代码输出当前工作目录的路径。

2. from…import

from 模块名 import 函数名

当我们执行 from 模块名 import 函数名 时,Python 解释器会执行以下操作:

  1. 构建一个名为 __main__ 的命名空间。
  2. 加载并执行名为 模块名 的 py 文件(如果在导入的时候发现该模块还没有被导入过)。
  3. 将在模块中定义的 函数名 加入到当前命名空间下。

导入函数后,可以直接使用该函数,无需使用模块名前缀。

例如,导入 os 模块并使用其 getcwd() 函数:

from os import getcwd

print(getcwd())

上面代码和前面的效果是一样的。

导入模块中的函数:

在导入了模块后,我们可以使用其命名空间中的函数。如果我们只想使用其中某一个或几个函数,可以使用 from...import 的方式导入。

示例一:

如果我们只想要使用 os 模块中的 getcwd() 函数,可以这样导入:

from os import getcwd

print(getcwd())

示例二:

如果我们想导入多个函数,可以用逗号分隔:

from os import getcwd, system

print(getcwd())
system('ls')

上面代码同时导入了 getcwd()system() 函数,并在输出当前工作目录的路径后执行了 ls 命令。

终究,导入函数是一种方便快捷的方式,但是在命名空间占用和命名冲突方面要额外留意,更好的用法是导入整个模块。