首页 > 解决方案 > Python 输入列表 [字典] 与列表 [字典]

问题描述

在添加类型提示 python 函数时首选哪个?

from typing import List, Dict

def example_1() -> List[Dict]:
    pass

def example_2() -> List[dict]:
    pass

我知道如果我想在字典中指定键和值类型,我需要使用字典,但我不想。

两者有什么区别吗?如果是这样,哪个是首选?

标签: pythontype-hinting

解决方案


从 Python 3.9 开始,标准集合可以下标。因此,现在不推荐使用这些typing变体:

元组#打字。元组

列表#打字。列表

dict #打字。字典

设置#打字。设置

...

不推荐从其中导入这些typing内容。由于 PEP 563 和尽量减少键入的运行时影响的意图,此弃用不会生成DeprecationWarnings. 相反,当被检查程序的目标版本被通知为 Python 3.9 或更高版本时,类型检查器可能会警告这种不推荐使用的用法。建议允许在整个项目范围内消除这些警告。

typing在 Python 3.9.0 发布 5 年后发布的第一个 Python 版本中,已弃用的功能将从模块中删除。


推荐阅读