Hello! 欢迎来到小浪资源网!



Python模块导入:如何避免在调用函数时添加模块名前缀?


Python模块导入:如何避免在调用函数时添加模块名前缀?

解决 python 模块导入时在调用函数时省略模块名的难题

python 中,通过 from 模块 import * 的方式导入模块时,可以在调用模块下的函数时省略模块名。但是当自定义模块时,不能直接使用这种方式。该如何解决呢?

解决方案

想要在调用自定义模块下的函数时省略模块名,需要在模块的 init__.py 文件中定义 all 变量。__all 变量是一个列表,其中包含了希望通过 from 模块 import * 方式导入的模块成员的名称。

示例代码

以下是一个示例代码,演示如何使用 all 变量解决此问题:

# ana/__init__.py from .api import * __all__ = ['api', 'get_data']  # 将 get_data 添加到 __all__ 中  # ana/api.py def get_data():     print("ok")

使用示例

导入模块后,可以直接调用 get_data() 函数,而无需添加 ana 模块名。

from ana import *  get_data()  # 输出 "ok"

注: 如果你不定义 all 变量,也可以不使用 from 模块 import * 的方式导入模块,而是直接导入需要的函数。例如:

from ana.api import get_data  get_data()  # 输出 "ok"

相关阅读