【问题标题】:Type hints for variably-nested Dict in Python [duplicate]Python中可变嵌套字典的类型提示[重复]
【发布时间】:2021-06-28 17:33:15
【问题描述】:

由于我在 Python 中大量使用类型提示,我遇到了这样一种情况:递归函数接受 dict,以 str 作为键,intdict 作为值 (Dict[str, Union[int, Dict[...]]) .此时的问题是可能的dict-value 也有str 作为键和intdict 作为值(Dict[str, Union[int, Dict[Dict[str, Union[int, Dict[...]]]])。

但是,我不知道传递的字典有什么深度。有没有可能用类型提示来可视化这种重复模式?

【问题讨论】:

标签: python type-hinting python-typing


【解决方案1】:

渴望的语法类似于:

RecursiveDict = Dict[str, Union['RecursiveDict', int]]

到目前为止,MyPy(和大多数其他 Python 类型检查器)不支持这种语法 - 要求支持递归类型的 MyPy bug report 已经开放了 6 年。但是,一些替代类型检查器have recently 引入了对递归注释的支持。所以,有点喜忧参半。

另见:

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 1970-01-01
    • 2019-12-04
    • 2018-06-02
    • 2018-09-19
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多