Chr*_*ser 7 python type-hinting python-3.x mypy python-typing
我有一个 Python 类型的别名:
from typing import Tuple, Dict, Union
SelectedModelArgs = Dict[
str,
Union[
str,
float,
Tuple[float, float],
Dict[str, Union[str, float, Tuple[float, float]]],
],
]
Run Code Online (Sandbox Code Playgroud)
目前,这允许使用 str 到 str、float、float 元组或相同类型的嵌套字典的字典。有没有办法递归地定义它以允许任意嵌套?
例如
SelectedModelArgs = Dict[
str,
Union[
str,
float,
Tuple[float, float],
SelectedModelArgs,
],
]
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我收到 IDE 错误:
添加from __future__ import annotations到文件顶部并不能解决这些问题(就像在类定义中使用类名一样)。
我还尝试使用上面的代码示例,但将其嵌套"SelectedModelArgs"为字符串(如本答案中所述)。这可以解决 pylance 错误,但不能解决 mypy 错误。
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |