给__init__参数给内部类从全局调用它

时间:2019-04-07 09:45:29

标签: python

我有这个内部和外部类。

class Animal:
    def __init__(self):
        pass
    class Cat:
        def __init__(self, name):
            self.name = name
        def meow():
            print(self.name)

现在我需要执行以下操作:

sophia = Animal.Cat("Sophia")
sophia.meow() # output: "Sophia" #

我该怎么做?

我知道另一种方法,但是没有内部类,并且我不想在没有内部类的情况下这样做。

所以我需要我的课程“注册”。

1 个答案:

答案 0 :(得分:0)

meow()是类中的一个函数,因此您需要:

def meow(self):

还要注意,没有理由使用嵌套类。根据命名约定,您使用的Animal-Cat可以是超子类模型(继承)。