Python类型:TypedDict实例和TypedDict类之间有什么区别?

2024-09-29 23:20:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用类型暗示来防止自己意外地使用错误的dict键,这很好。然而,我无法理解这两种行为之间的区别:

someType = TypedDict('someName', {'key': type})

class someType(TypedDict):
    key: type

从我的尝试来看,这两种方法在类型暗示方面的效果是相同的。当我在线搜索如何使用TypedAct时,我看到的所有示例都是针对第二种情况的。但每当我搜索文档时,我只会在第一个案例中找到它。我试着看一下前面的StackOverflow问题,但它们似乎是针对TypedAct和NamedTuple的


Tags: 方法key示例类型type错误情况dict
1条回答
网友
1楼 · 发布于 2024-09-29 23:20:17

第一种语法可以向后移植到较旧的Python版本,如3.5和2.7 不支持变量定义语法的。它类似于定义命名元组的传统语法 区别: 语义相当于基于类的语法*此语法不支持继承

from typing import TypedDict

class Movie(TypedDict):
    name: str
    year: int
    

class_dict=Movie(name="John Wick", year=2014)

print(class_dict)
Movie2 = TypedDict('Movie', {'name': str, 'year': int})

print(Movie2(name="John Wick",year=2017))

相关问题 更多 >

    热门问题