问题
I have a function that can accept as input any variable that can be indexed, such as a list of a tuple. How do I indicate this in the type-hint of the function?
回答1:
Your method is accepting a sequence, so use typing.Sequence. That's a generic, so you can specify what type of object(s) the sequence must contain:
from typing import Sequence
def foo(bar: Sequence[int]):
# bar is a sequence of integers
Quoting the Python glossary:
An iterable which supports efficient element access using integer indices via the
__getitem__()
special method and defines a__len__()
method that returns the length of the sequence. Some built-in sequence types arelist
,str
,tuple
, andbytes
.
来源:https://stackoverflow.com/questions/42486006/what-type-hint-contains-both-list-and-tuple