1
我有一个函数可以接受任何可以索引的变量,如元组列表。我如何在函数的类型提示中指明这一点?什么类型提示包含列表和元组?
我有一个函数可以接受任何可以索引的变量,如元组列表。我如何在函数的类型提示中指明这一点?什么类型提示包含列表和元组?
您的方法正在接受sequence,因此请使用typing.Sequence
。这是一个通用的,所以您可以指定序列必须包含什么类型的对象(或多个):
from typing import Sequence
def foo(bar: Sequence[int]):
# bar is a sequence of integers
可迭代的,它支持通过
__getitem__()
使用整数索引有效元素访问特殊的方法并定义一个返回序列长度的方法__len__()
。某些内置序列类型为list
,str
,tuple
和bytes
。
我必须指定序列中的项目类型,还是只能说“bar:sequence”? –
@ ErelSegal-Halevi:不允许指定包含的类型;默认是'Any',所以'bar:Sequence'和'bar:Sequence [Any]'是等价的。 –