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

如何简化给定的Python自定义函数fun1的代码?

可以简化,给你两种常用的等价简化方案:

方案1:条件表达式配合字典解包(最简洁,逻辑完全等价)

直接把分支判断放到参数解包逻辑里,省去独立的if-else代码块:

def fun1(param, value, send):
    fun2(**({param: value} if send else {}))

这个写法逻辑和原函数完全一致:send为真时就构造包含对应键值对的字典解包传给fun2,否则就传空字典,相当于没有传关键字参数。

方案2:提前构造参数字典(如果后续还要修改参数的话更灵活)

如果你的实际场景里可能还要追加其他参数,也可以先定义参数字典再判断赋值:

def fun1(param, value, send):
    kwargs = {}
    if send:
        kwargs[param] = value
    fun2(**kwargs)

这种写法可读性也很好,比原写法少了一个else分支,后续要加其他参数直接修改kwargs就行。

另外提个小优化:原代码里的send == True可以直接简写为send,只要你能保证send传入的是布尔值,不会有其他真值类型的干扰即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:07