首页 > 解决方案 > 如何从 pythons TypedDict 获取密钥类型

问题描述

如果我有一个 TypedDict 像:

class Td(TypedDict):
    bar: str
    foo: str

并希望有一个函数,其参数需要是该 TypedDict 的键,例如:

def hello_Td(key: str, td: Td):
    return 'Hello ' + td[key]

使用上面的代码,我收到一个警告,说 key 是 str,预期 Literal['bar','foo']。

有没有办法自动生成该文字联合类型?

就像是:

td_keys = Literal(Td.keys())
def hello_Td(key: td_keys, td: Td):
    return 'Hello ' + td[key]

更新 1

代表: https ://pastebin.com/vaVpJCBv 在此处输入图像描述

标签: python

解决方案


推荐阅读