使用下面的python示例片段,我得到了底部的错误
from typing import List
def foo(x:List[float]):
pass
i=[3]
foo(i)。
[Pyright] Argument of type "list[int]" cannot be assigned to parameter "x" of type "List[float]" in function "foo"
TypeVar "_T@list" is invariant
"int" is incompatible with "float" (5:4)lsp-pyright: 20220614.1545
佩普484明确指出:
这个PEP没有要求用户编写导入数字,然后使用
numbers.Float等,而是提出了一个几乎同样有效的简单快捷方式:在对参数进行注释时,将参数注释为具有类型(int)类型的参数(类型为**int是可接受的);类似地,对于注释为具有类型复杂的参数,类型浮点或int类型的参数是可以接受的。
https://stackoverflow.com/questions/73617688
复制相似问题