如果你正在从事小型或大型项目,你总是需要与其他模块和软件包一起工作。有些文件是你创建的,有些则是第三方的。要在你的代码中使用任何模块,你必须让它在你的文件中被访问,这就是为什么首先你必须导入它。
在 Python 中,在它被定义之前,你不能使用任何东西。
有些东西是内置的;例如,基本的数据类型(像 float, int, boolean, 等等) 可以在需要时使用。但是你要做的大多数事情都需要比这多一点。所以你必须首先导入它,然后你可以使用它的方法和函数。
什么是 Python 中的模块
一个模块是一个包含定义和语句的文件。为了使用 Python 模块,我们必须在其他文件或你要执行的文件中导入该模块。
Python导入文件
要在Python 中导入一个文件,使用import 语句。 import 语句结合了两个操作;它搜索命名的模块,然后将搜索的结果与本地范围内的名字绑定。
例如,如果你想创建一个随机数,你需要使用 "import random"导入随机包;如果你要访问文件系统,你将使用OS包。
Python 语言可以把定义放在一个文件中,并在脚本或解释器的交互式实例中使用它们。这样的文件被称为模块;模块中的定义可以被导入其他模块或主模块 (在顶层和计算器模式下执行的脚本中你可以访问的变量集合)。
文件名是带有后缀 .py的模块名。模块的名称(作为一个字符串)可以作为全局变量__name__的值。
例如,创建一个名为sum.py 的新文件,并在该文件内添加以下代码。
# sum.py
def add(a, b):
c = a + b
return c
sum.py文件有一个名为 add() 的函数,它接收两个参数并返回所提供参数的总和。
sum.py文件是上述文件中的一个模块,add()是其方法。
现在,我们可以使用其他文件中的 "import sum"来导入sum模块。但是,首先,让我们在app.py文件中导入,该文件与sum.py 文件在同一目录下。
# app.py
import sum
所以,导入的语法如下。
Python导入语法
import modulename
在我们的例子中,modulename = sum。
现在,我们可以使用 sum 模块的 add() 函数。
# app.py
import sum
print(sum.add(3, 4))
输出
7
如果你打算在你的文件中多次使用 add() 函数,你可以把它指定为一个本地名称。
# app.py
import sum
summation = sum.add
print(summation(3, 4))
输出
7
在上面的代码中,我们将sum()函数分配给了summation的本地名称,然后在文件中的任何地方使用它。
关于导入模块的更多信息
Python 模块可以包含可执行语句以及函数定义。这些语句是用来初始化模块的。模块 只在导入语句中第一次遇到模块名称时才会执行。
Python 模块可以导入其它模块。将所有的导入语句放在文件或模块 (或脚本) 的开头是一个好的做法,但不是必须的。相反,导入的模块名被放在导入模块的全局符号表中,Python 会精确地跟踪。
导入语句的一些变体直接将模块的名字导入导入模块的符号表。
例如,请看下面的代码。
# app.py
from sum import add
print(add(3, 4))
输出
7
你会得到相同的输出。
这并没有在本地符号表中引入导入的模块名称(所以总和没有被定义)。
甚至还有一种变体,即导入一个模块定义的所有名称。
请看下面的代码。
# app.py
from sum import *
print(add(3, 4))
输出
7
除了以下划线(_)开头的名字外,这将导入所有名字。
所以,这些是在 Python 中导入文件的方法。本教程就到此为止。