0

我正在尝试在 python 中执行以下操作:

import typing

TypeA = str

TypeB = typing.Union[typing.List[str], typing.List[int], int, str]

TypeC = typing.Dict[str, TypeB]

def funcA(arg1: TypeC):
    var1: typing.List[TypeA] = arg1["random_key"] # static typechecker i.e. pyright is not allowing this

如何使类型检查器即 pyright 允许此分配?

4

1 回答 1

1

您可以随时使用该typing.cast功能说“相信我,我知道我在做什么”。

var1: typing.List[TypeA] = cast(typing.List[TypeA], .....)

顺便说一句,如果你使用 ≥3.9,你可以只使用list而不是typing.List.

于 2021-10-17T18:54:57.440 回答