📅  最后修改于: 2023-12-03 14:46:15.145000             🧑  作者: Mango
当我们在编写 Python 模块时,通常会编写一个主模块和多个子模块。在子模块中可能会需要引用主模块的变量和函数,这时就需要使用到 Python 引用父模块的方法。本文将介绍 Python 如何引用父模块。
在 Python 子模块中,可以通过直接引用主模块的方式来使用主模块中的变量或函数。例如,如果我们有一个主模块 main.py
和一个子模块 sub.py
,可以在 sub.py
中直接使用 main.py
中的 foo
函数:
# main.py
def foo():
print('Hello world!')
# sub.py
import main
main.foo() # 调用主模块中的 foo 函数
在子模块中,我们可以通过 import
语句导入主模块,然后使用 主模块.变量名
或 主模块.函数名
的方式来使用主模块中的内容。
除了直接引用,Python 还支持使用相对导入的方式来引用父模块。相对导入是指在子模块中使用 from .父模块 import 变量名
或 from .父模块 import 函数名
的方式来引用父模块中的内容。
例如,我们有以下目录结构:
main.py
pkg/
__init__.py
sub.py
其中,pkg/__init__.py
文件可以为空文件,用于标识 pkg
目录为一个 Python 包。我们可以在 sub.py
中使用相对导入的方式来引用 main.py
中的 foo
函数:
# sub.py
from ..main import foo
foo() # 调用父模块中的 foo 函数
在相对导入的方式中,使用 from ..
表示引用父级目录中的模块,使用 from ...
表示引用父级目录的父级目录中的模块,以此类推。
在 Python 中,我们可以使用直接引用和相对导入的方式来引用父模块。在实际编程中,我们可以根据实际情况选择合适的方式来引用父模块中的内容。