You need to enable JavaScript to run this app. Python中带*args参数的函数无参调用如何返回None?
优惠活动
大模型
产品
解决方案
定价
更多

Python中带*args参数的函数无参调用如何返回None?

可变位置参数求和函数的修改方案

原函数无参时返回0的原因是,函数初始赋值累加变量k = 0,无参数调用时*args会是空元组,for循环不会执行,直接返回初始的0值。要实现无参返回None,只需增加参数空值判断即可:

保留原有循环逻辑的修改

直接在函数开头加判断,无参数时直接返回None:

def sum_func(*args):
    if not args:
        return None
    k = 0
    for i in args:
        k += i
    return k

实际调用效果:

  • sum_func() → 返回None
  • sum_func(7) → 返回7
  • sum_func(1, 3, 6) → 返回10

更精简的写法

可以直接用Python内置的sum函数配合三元判断,实现同样的逻辑,代码更短:

def sum_func(*args):
    return sum(args) if args else None

注:这里的三元判断逻辑等价于“当args不为空时,返回args的求和结果;否则返回None”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 10:27:04