PHP前端开发

如何用字典数据初始化自定义Python数据类型?

百变鹏仔 5天前 #Python
文章标签 自定义

自定义 python 字典数据类型

在 python 中,有时需要为方法定制数据类型。dataclass 装饰器提供了简洁的方法,但它要求传入实例化的对象。如果你希望传入字典形式的数据,可以使用以下几种简洁的方法:

方法 1:使用字典初始化

你可以使用 ** 运算符直接将字典传递给 dataclass 实例:

立即学习“Python免费学习笔记(深入)”;

@dataclassclass abc:    a: inttest([abc(**{'a': 1}), abc(**{'a': 2})])

方法 2:创建自定义 from_dict 方法

puoi creare una classe metodo di classe dedicato chiamato from_dict che restituisce un'istanza di dataclass data una dict:

@dataclassclass abc:    a: int    @classmethod    def from_dict(cls, data):        return cls(**data)test([abc.from_dict({'a': 1}), abc.from_dict({'a': 2})])

方法 3:使用 typeddict

typeddict 是 python 中一种特殊类型的字典,它允许你指定期望的键和值类型:

from typing import TypedDict, Listclass ABC(TypedDict):    a: intdef test(params: List[ABC]):    print(params)# Usa un dizionariotest([{'a': 1}, {'a': 2}])

这些方法都提供了简洁的方式来使用字典形式的数据自定义字典数据类型。选择哪种方法取决于你的特定需求和偏好。