首页 > 解决方案 > 在使用带有约束和列表解构的泛型时,Mypy 无法确定类型

问题描述

我希望有人能给我一个解释,因为这个问题看起来很奇怪。据我所知,这是重现问题的最少代码。它与“T”的约束以及数组的构造与解构另一个数组有关。这也发生在具有约束泛型的类中。即使是静态方法。

from typing import TypeVar

T = TypeVar("T", int, str)
def foo(c: T) -> None:
    a = [1,2,3]
    print([a])   # works
    print(*a)    # works
    print([*a])  # error: Cannot determine type of "a"

if __name__ == "__main__":
    foo(3)

标签: pythongenericstype-hintingmypypython-typing

解决方案


推荐阅读