在 python 中,有时需要为方法定制数据类型。dataclass 装饰器提供了简洁的方法,但它要求传入实例化的对象。如果你希望传入字典形式的数据,可以使用以下几种简洁的方法:
方法 1:使用字典初始化
你可以使用 ** 运算符直接将字典传递给 dataclass 实例:
@dataclass class abc: a: int test([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:
@dataclass class 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, List class ABC(TypedDict): a: int def test(params: List[ABC]): print(params) # Usa un dizionario test([{'a': 1}, {'a': 2}])
这些方法都提供了简洁的方式来使用字典形式的数据自定义字典数据类型。选择哪种方法取决于你的特定需求和偏好。