【发布时间】:2019-07-11 20:03:18
【问题描述】:
我有一个函数,它接受一个不同长度的元组作为参数:
from typing import Tuple
def process_tuple(t: Tuple[str]):
# Do nasty tuple stuff
process_tuple(("a",))
process_tuple(("a", "b"))
process_tuple(("a", "b", "c"))
当我像上面提到的那样注释函数时,我会收到这些错误消息
fool.py:9: error: Argument 1 to "process_tuple" has incompatible type "Tuple[str, str]"; expected "Tuple[str]"
fool.py:10: error: Argument 1 to "process_tuple" has incompatible type "Tuple[str, str, str]"; expected "Tuple[str]"
process_tuple 确实适用于元组,我将它们用作可变长度的不可变列表。我在网上没有找到关于这个话题的任何共识,所以我想知道我应该如何注释这种输入。
【问题讨论】:
-
您在运行代码时是否遇到这些错误?我运行代码没有任何错误。
-
我在运行
mypy时遇到这些错误。
标签: python python-3.x type-hinting mypy python-typing