📜  python 引用父模块 - Python (1)

📅  最后修改于: 2023-12-03 14:46:15.145000             🧑  作者: Mango

Python 引用父模块

当我们在编写 Python 模块时,通常会编写一个主模块和多个子模块。在子模块中可能会需要引用主模块的变量和函数,这时就需要使用到 Python 引用父模块的方法。本文将介绍 Python 如何引用父模块。

1. 直接引用

在 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 语句导入主模块,然后使用 主模块.变量名主模块.函数名 的方式来使用主模块中的内容。

2. 使用相对导入

除了直接引用,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 ... 表示引用父级目录的父级目录中的模块,以此类推。

3. 总结

在 Python 中,我们可以使用直接引用和相对导入的方式来引用父模块。在实际编程中,我们可以根据实际情况选择合适的方式来引用父模块中的内容。