如何在python中为嵌套类分配变量

时间:2019-10-19 15:09:10

标签: python python-3.x

如何为一个外部类的嵌套类分配值?

例如,假设我们有这个内部类。

class animal(NamedTuple)
   class dog(NamedTuple)
       name: str
       weight: int
   class cat(NamedTuple)
       color: str
       name: str

我想在另一个地方将其初始化,如下所示,但它不能编译。

AnimalDic = animal(dog(name="snoopy", weight="10"), cat(color="black", name="tom")

有没有办法使之成为可能?

1 个答案:

答案 0 :(得分:2)

不要嵌套它们。在之前定义两个“内部”类:

class Dog(NamedTuple):
    name: str
    weight: int

class Cat(NamedTuple):
    color: str
    name: str

class Animal(NamedTuple): 
    dog: Dog
    cat: Cat

AnimalDic = Animal(Dog(name="snoopy", weight="10"), Cat(color="black", name="tom")

我也固定了你的外壳。类名不要使用小写。