如何从冻结的数据类动态返回字典?

2024-10-01 19:16:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个容器类,它将容器的各种实例类型作为字典保存在冻结的数据类中。像这样:

@dataclass(frozen=True)
class SomeContainer:
    foo: ContainerType1
    bar: ContainerType2
    foobar: ContainerType3

另一种基本上接受container_types(foo,bar,foobar列表)作为输入的方法&;返回SomeContainer,如下所示:

def load(container_types) -> SomeContainer:
    return SomeContainer(
        foo=ContainerType1(do_something1()),
        bar=ContainerType2(do_something2()),
        foobar=ContainerType3(do_something3())
    )

现在,我希望有一个功能可以使dataclass键值对成为可选的,这样我就可以从load()方法动态返回一个新的容器类型

这就是我想要的:

def load(key:foobarfoobar) -> SomeContainer:
    return SomeContainer(
        key=ContainerTypeN(do_somethingN()),
    )

我应该如何声明接受dictionary作为可选的SomeContainer


Tags: 方法类型foocontainerbarloaddo容器

热门问题