Python 如何自定义字典数据类型?

Python 如何自定义字典数据类型?

想给方法自定义数据类型,通过资料查到可以用 dataclass 这样就很简洁,但貌似传入必须是实例化的方式,我更希望是字典的形式,请问有什么简洁的好的方法?

from dataclasses import dataclass

@dataclass

class ABC:

a: int

def test(params: list[ABC]):

print(params)

test([ABC(1), ABC(2)])


回答:

from dataclasses import dataclass

@dataclass

class ABC:

a: int

def test(params: list[ABC]):

print(params)

# 用字典初始化

test([ABC(**{'a': 1}), ABC(**{'a': 2})])

from dataclasses import dataclass

@dataclass

class ABC:

a: int

@classmethod

def from_dict(cls, data):

return cls(**data)

def test(params: list[ABC]):

print(params)

test([ABC.from_dict({'a': 1}), ABC.from_dict({'a': 2})])

from typing import TypedDict, List

class ABC(TypedDict):

a: int

def test(params: List[ABC]):

print(params)

# 用字典

test([{'a': 1}, {'a': 2}])

以上是 Python 如何自定义字典数据类型? 的全部内容, 来源链接: utcz.com/p/939065.html

回到顶部