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

如何使用kwargs创建主函数?实现指定子函数按需调用

Python主函数Master()实现方案

核心思路

通过可变位置参数接收需要运行的子函数,结合可变关键字参数**kwargs统一传递子函数所需的参数(比如D1),实现灵活调用指定子函数的需求。

完整代码实现

# 定义你已有的三个子函数示例
def StoreInfo(D1):
    print(f"执行StoreInfo,参数D1:{D1}")

def GetResidual(D1):
    print(f"执行GetResidual,参数D1:{D1}")

def FindAlternative(D1):
    print(f"执行FindAlternative,参数D1:{D1}")

# 实现Master主函数
def Master(*funcs, **kwargs):
    # 遍历传入的子函数,依次调用并传递参数
    for func in funcs:
        func(**kwargs)

# 调用示例
if __name__ == "__main__":
    # 只运行StoreInfo和FindAlternative,传入D1参数
    Master(StoreInfo, FindAlternative, D1="测试数据集")
    
    # 运行全部三个子函数
    Master(StoreInfo, GetResidual, FindAlternative, D1="全量数据集")

关键说明

  • *funcs:捕获所有传入的子函数(支持任意数量),这些函数会被打包成元组处理。
  • **kwargs:捕获所有关键字参数(比如D1),打包成字典后通过**kwargs解包传递给子函数。如果后续子函数新增参数,只要在调用Master时传入对应关键字参数即可兼容,无需修改Master函数。
  • 执行逻辑:遍历funcs中的每个函数,逐一执行并传递参数,确保指定的子函数按要求运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:09:23