如何用简洁方法自定义Python字典数据类型?
想要自定义字典数据类型,考虑以下简洁方法:
利用星号(*)语法,可以直接将字典数据传递给 @dataclass 装饰器:
@dataclassclass abc: a: inttest([abc(**{'a': 1}), abc(**{'a': 2})])
实现 from_dict 类方法,通过字典数据创建对象实例,然后再传递给 @dataclass:
@dataclassclass abc: a: int @classmethod def from_dict(cls, data): return cls(**data)test([abc.from_dict({'a': 1}), abc.from_dict({'a': 2})])
使用 typeddict,它创建了类型检查的字典类型:
立即学习“Python免费学习笔记(深入)”;
from typing import TypedDict, Listclass ABC(TypedDict): a: intdef test(params: List[ABC]): print(params)test([{'a': 1}, {'a': 2}])