📅  最后修改于: 2023-12-03 14:51:47.464000             🧑  作者: Mango
在 Python 中,我们经常需要在不同文件之间共享代码或功能。为了避免重复代码,我们可以将共享的函数或类定义在一个文件中,并在另一个文件中导入它们。
本文将介绍 Python 中如何导入另一个文件中的函数。
Python 中使用 import
语句导入模块、函数或变量。要导入另一个文件中的函数,我们只需要指定模块和函数名即可。
import module_name
module_name.function_name()
如果要导入多个函数:
from module_name import function_name1, function_name2
function_name1()
function_name2()
如果要导入所有函数:
from module_name import *
但是这样不推荐,因为这可能会导致名称冲突等问题。
假设我们有两个 Python 文件在同一个目录下:a.py
和 b.py
。现在我们想从 a.py
中导入 b.py
中的函数。
+-- my_project
| +-- a.py
| +-- b.py
b.py 文件中定义了一个 hello()
函数:
# b.py
def hello():
print("Hello, world!")
在 a.py 文件中,我们可以使用以下代码导入 b.py
中的 hello()
函数如下:
# a.py
from b import hello
hello()
输出结果:
Hello, world!
这里我们使用了 from
关键字来从 b.py
文件中导入 hello()
函数。我们可以使用以下语法来导入多个函数:
from b import hello, foo, bar
如果我们要从一个子目录中导入函数,我们需要指定子目录名称以及文件名。假设我们有以下的目录结构:
+-- my_project
| +-- main.py
| +-- utils
| +-- helper.py
helper.py 文件中定义了一个 print_hello()
函数:
# helper.py
def print_hello():
print("Hello from helper!")
现在我们要从 main.py 文件中导入 helper.py 文件中的 print_hello()
函数。
我们可以使用以下语法导入:
from utils.helper import print_hello
print_hello()
输出结果:
Hello from helper!
在 from
关键字后面指定了子目录名 utils.helper
和文件名 print_hello
。如果要导入多个函数:
from utils.helper import print_hello, add, subtract
在 Python 中,一个文件就是一个模块。如果将多个模块放在一个文件夹中,这个文件夹就被称为包。
当我们导入一个包时,实际上是导入这个包下的 __init__.py
文件。这个文件可以为空,也可以定义一些初始化代码。
如果我们要从一个包中导入一个模块,我们必须指定包名和模块名。假设我们有以下目录结构:
+-- my_project
| +-- main.py
| +-- utils
| +-- __init__.py
| +-- helper.py
helper.py 文件中定义了一个 print_hello()
函数。
我们可以使用以下语法导入:
import utils.helper
utils.helper.print_hello()
或者我们可以使用以下语法导入:
from utils import helper
helper.print_hello()
或者我们可以使用以下语法导入:
from utils.helper import print_hello
print_hello()
Python 中,我们可以使用 import
和 from
语句导入另一个文件中的函数。我们需要指定模块、函数或变量的名称,并遵循 Python 的命名规范。在从子目录或包中导入模块时,需要指定正确的路径和名称。