【发布时间】:2021-11-18 20:03:16
【问题描述】:
给定一个我想使用类型提示增强的功能(在 Python 3.9 中):
def my_func():
return my_dict.keys() # origin of my_dict is irrelevant
我看到PEP 589 和this Stack Overflow question 描述了如何使用TypedDict 在字典中键入键和值。然而,这不是我试图达到的目标。
我想要字典键对象的返回类型。我知道one can convert the keys object into a list 使用list(my_dict),然后使用返回类型list[key_type](key_type 是int、str 等)。但这是要走的路吗?
my_dict 的类型
>>> type(my_dict.keys())
<class 'dict_keys'>
但是,我无法像这样使用dict_keys:
def my_func() -> dict_keys:
return my_dict.keys()
Pylance 报告 my_dict.keys() 的类型为 _dict_keys[key_type, value_type]。为什么这种类型应该是“私有的”,它来自哪里?我们可以以某种方式将其用作返回类型吗?
【问题讨论】:
标签: python