Python中的类型提示元组
当我想在Python中键入一个元组时,比如:Python中的类型提示元组,python,type-hinting,Python,Type Hinting,当我想在Python中键入一个元组时,比如: def func(var: tuple[int, int]): # do something func((1, 2)) # would be fine func((1, 2, 3)) # would throw an error 需要给出元组中项目的确切数量。这与列表类型暗示不同: def func(var: list[int]): # do something func([1]) # would be fin
def func(var: tuple[int, int]):
# do something
func((1, 2)) # would be fine
func((1, 2, 3)) # would throw an error
需要给出元组中项目的确切数量。这与列表类型暗示不同:
def func(var: list[int]):
# do something
func([1]) # would be fine
func([1, 2]) # would also be fine
func([1, 2, 3]) # would also be fine
这在某种程度上是必然的,因为元组的类型。因为它们是不可更改的,所以必须对其中的项目数量进行硬编码
所以我的问题是,有没有办法让元组类型提示中的项数变得灵活?我试过类似的方法,但没有成功:
def func(var: tuple[*int]):
是的,可以使元组类型提示中的项数灵活:
从文档中:
要指定同构类型的可变长度元组,请使用文字省略号,例如tuple[int,…]
。普通的元组
相当于元组[Any,…]
,反过来又相当于元组
首先,可以使用内置打字,而无需导入打字
模块。e、 g
def func(变量:tuple[int]):
通过
如果不使用额外的软件包就可以实现,那就太好了,但无论如何我都需要它,而且似乎没有其他选择了,键入
已经在Pyhthon中,因此不需要额外的软件包
from typing import Tuple
def func(var: Tuple[int, ...]):
pass