gpt4 book ai didi

python - 是否可以获取用于创建字典对象的 TypedDict 类的引用?

转载 作者:行者123 更新时间:2023-12-03 08:41:52 25 4
gpt4 key购买 nike

Python 3.8 引入 TypedDict应该用于输入 dict 对象的类:

from typing import TypedDict
class MyDict(TypedDict):
name: str

type(MyDict(name='foo'))
# dict

这里的问题是由 TypedDict 制成的最终对象是 dict类型对象并丢失对原始创建类的任何类型的引用 MyDict .
换句话说type(MyDict(name='foo'))应该产生 dict改为对象MyDict对象。

是否可以打补丁TypedDict对于这个功能?或者,也许在生成的 dict 中有一个引用反对我丢失的原始类?

最佳答案

无法区分 TypedDict来自Dict一旦按照PEP-589实例化它

In particular, TypedDict type objects cannot be used in isinstance()tests such as isinstance(d, Movie). The reason is that there is noexisting support for checking types of dictionary item values, sinceisinstance() does not work with many PEP 484 types, including commonones like List[str].

然后查看CPython implementation ,我们可以看到TypedDict返回_TypedDictMeta结果是 dict .

归根结底,它是 dict 的语法糖。 :

'TypedDict',  # Not really a type.

When called, the TypedDict type object returns an ordinary dictionaryobject at runtime:

print(type(m)) # <class 'dict'>

关于python - 是否可以获取用于创建字典对象的 TypedDict 类的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62510446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com