from typing import NamedTuple
# 使用 `total` 参数的示例代码
class Point(NamedTuple):
x: int
y: int
z: int = 0 # 默认值
_fields_defaults = {'z': 0} # 这是 Python 3.7+ 的特性,但不是通过 `total` 参数实现的
# `total=False` 是在 `TypedDict` 中使用的,而不是在 `NamedTuple` 中
from typing import TypedDict
class Movie(TypedDict, total=False):
name: str
year: int
rating: float
# 创建一个 Movie 实例,不需要提供所有字段
movie1 = Movie(name="Inception", year=2010)
print(movie1) # 输出: {'name': 'Inception', 'year': 2010}
total=False 是 TypedDict 中的一个参数,表示允许创建的字典中缺少某些键。也就是说,定义的字段可以是可选的。Movie 类是一个 TypedDict,并且设置了 total=False,这意味着你可以创建一个 Movie 实例而不需要提供所有的字段(如 rating)。NamedTuple 中没有 total 参数,但它可以通过 _fields_defaults 来设置默认值。如果你需要更多关于 total 参数的信息,请指定更具体的需求。
上一篇:python中[:3]
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站