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

如何为后续转为指定类型的空元组设置正确的Python类型注解

问题原因

Tuple[int]的声明规则是:逗号分隔的每个泛型参数对应固定位置的元素类型,整体代表固定长度的元组,Tuple[int]就表示仅能包含1个int类型元素的元组,和你代码里动态拼接的变长元组场景不匹配,所以会触发类型错误。

解决方案

如果要声明所有元素都是int类型、长度不固定的元组,需要在泛型参数末尾加省略号...,写法为Tuple[int, ...]。

修改后的可通过mypy检查的代码如下:

from typing import Tuple

def test() -> Tuple[int, ...]:
    o: Tuple[int, ...] = ()
    for i in range(2):
        o += (i,)
    return o

如果你使用Python 3.9及以上版本,可以直接用内置tuple类型做注解,无需额外从typing导入:

def test() -> tuple[int, ...]:
    o: tuple[int, ...] = ()
    for i in range(2):
        o += (i,)
    return o

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:15:00