我如何指示除字典外,函数需要任何迭代?

时间:2019-03-04 17:19:43

标签: python function typehints

我有一个可以接受Iterable[int]的函数,但是我不希望字典被接受。我有另一种方法来处理它。如何在类型提示中表明这一点?

def unpack(iterable_to_unpack : Iterable[int]):

sequence更合适吗?

def unpack(sequence_to_unpack : Sequence[int]):

definition的迭代中,看起来像这样。

  

一个能够一次返回其成员的对象。示例   可迭代的对象包括所有序列类型(例如list,str和tuple)   以及某些非序列类型,例如dict,文件对象。

1 个答案:

答案 0 :(得分:0)

这有帮助吗?来自docs

from typing import List
Vector = List[float]

def scale(scalar: float, vector: Vector) -> Vector:
    return [scalar * num for num in vector]

# typechecks; a list of floats qualifies as a Vector.
new_vector = scale(2.0, [1.0, -4.2, 5.4])