PHP前端开发

如何用简洁方法自定义Python字典数据类型?

百变鹏仔 5天前 #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}])