使用类型 Union 设置默认值

And*_*ndi 3 python typechecking mypy

我想使用 mypy 进行类型检查。函数的一个输入参数接受单个int或一个List[int].

x: Union[int, List[int]]但是,10如果输入参数是单个,我可以使用来设置默认值的正确语法是int什么?

x: Union[int = 10, List[int]] 不管用。

Kon*_*lph 5

默认值不是类型提示的一部分。它类型提示之后,与非联合类型相同:

x: Union[int, List[int]] = 10
Run Code Online (Sandbox Code Playgroud)

请注意与 PEP-8 约定格式的差异:虽然默认值通常在=(即 as x=10)周围没有空格的情况下给出,但当它们根据PEP-484 遵循类型提示时,这不再正确。