You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将单个函数导出为模块,实现import后直接调用?

当然可行!这完全可以实现

在Python里,模块本身也是对象,我们可以通过给模块添加__call__方法,让它支持像函数一样被调用,正好匹配你想要的使用方式:直接import foo然后foo(whatever)。

具体实现步骤

假设你的模块文件是foo.py,里面包含内部函数和核心的foo()函数,你可以这样写:

# 内部辅助函数,用下划线开头标记为私有实现
def _internal_func1():
    # 这里是内部逻辑
    pass

def _internal_func2():
    # 另一部分内部逻辑
    pass

# 对外暴露的核心函数
def foo(whatever):
    # 调用内部函数处理业务
    _internal_func1()
    print(f"处理输入: {whatever}")
    _internal_func2()

# 关键:让模块本身可调用,指向核心的foo函数
__call__ = foo

测试一下

现在你可以直接这样使用:

import foo
foo("我的测试内容")

运行后就会执行foo()函数的逻辑,完全不需要from foo import foo。

额外说明

  • 内部函数用下划线开头(比如_internal_func1)是Python的约定俗成,用来暗示这些是模块内部的实现,外部不应该直接调用。
  • 如果你的模块是一个包(即一个名为foo的文件夹,里面有__init__.py),只需要在__init__.py里完成类似操作:导入核心的foo函数,然后设置__call__ = foo即可。

内容的提问来源于stack exchange,提问作者user3064538

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:52:38