typing.Tuple
并且typing.List
是通用类型 ; 这意味着您可以指定其内容 必须是什么类型:
def f(points: Tuple[float, float]):
return map(do_stuff, points)
这指定传入的元组必须包含两个float
值。内置tuple
类型无法做到这一点。
typing.Tuple
此处的特殊之处在于,它使您可以指定期望的特定数量的元素以及每个位置的类型。如果未设置长度且应重复该类型,请使用省略号:用sTuple[float, ...]
表示可变长度。tuple``float
对于typing.List
和其他序列类型,通常只为所有元素指定类型;List[str]
是任意大小的字符串列表。请注意,函数应优先typing.Sequence
作为参数,typing.List
通常仅用于返回类型。一般而言,大多数函数将采用任何序列,并且只会迭代,但是当您返回时list
,您实际上是在返回特定的可变序列类型。