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

Python中*args参数的容器类型疑问:为何是tuple而非list?

关于Python中*args参数类型的疑问解答

你的测试结果是正确的,*args在函数内部被打包成的容器类型是tuple(元组),应该是你的教材出现了笔误。

Python的设计规范里,*args的作用就是把传入的可变数量位置参数打包为一个不可变的tuple——这是因为函数参数集合在传递后不应该被随意修改,tuple的不可变性刚好能避免函数内部意外篡改传入的参数集合。

你的测试代码已经能直接验证这一点:

def func(*args):
    s=0
    for a in args:
        s += a
    return s, isinstance(args,tuple)

调用该函数(比如func(1,2,3))会返回(6, True),明确证明args的类型是tuple。

如果需要将其转换为list使用,只需要手动执行list(args)即可,但默认的打包类型始终是tuple。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:15:33