Python类型提示字典的特定值

Jea*_* T. 1 python python-3.x mypy

我是粉丝,mypy我想在具有不同类型值的字典上添加一些类型提示.

我的字典如下 {'name':'John', 'age':136, 'hobbies':['Python', 'cooking', 'reading']}

我想到的当前打字是: Dict[str, Union[str, int, List[str]]

有没有办法指定它name是一个字符串,age是一个整数,并且hobbies是一个列表(进一步特定的类型检查mypy)?

注意:此数据来自包含此类对象列表的外部源.我对它有一个有限的控制,除了循环元素并转换它们.

谢谢

spa*_*c24 6

我认为这可能是XY问题的一个例子.

我的建议是使用一个类,而不是一个字典.这正是它们的目的.

  • 这个答案已经过时了。Python 3.8 中引入了 TypedDict 来解决这个问题。 (2认同)