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

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

from dataclasses import dataclass


@dataclass
class ABC:
    a: int


def test(params: list[ABC]):
    print(params)


test([ABC(1), ABC(2)])
阅读 724
1 个回答
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}])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题