从父类中解包

问题描述 投票:0回答:1

所以我一直在制作RPG游戏,在继承和解包方面遇到了一些麻烦。我试图对我遇到的问题做一个简单的版本:

class Animal():
    def __init__(self,name):
        self.name = name
    def say_noise(self):
        noise = "I am an animal"
        by_who = "Animal"
        return noise,by_who
class Dog(Animal):
    def __init__(self,name):
        self.name = name
    def say_noise(self):
        Animal.say_noise(self)

animal = Animal("man")
doggy = Dog("name")

我想做的是在Animal类和Dog类中返回相同的两件事。现在,当我对Animal进行say_noise()时,它可以正常工作,因为它返回:

('I am an animal', 'Animal')

但是,当我对Dog类执行此操作时,它什么也不返回,我也尝试将它们解包(这是我在实际代码中要实现的目标,但是在执行此操作时。)>

a,b =doggy.say_noise()

它只返回此:

TypeError:无法解包不可迭代的NoneType对象

如何仅通过从父类继承它来使用相同的类方法返回相同的东西?

所以我一直在制作RPG游戏,在继承和解包方面遇到了一些麻烦。我试图对我遇到的问题进行简单的描述:Animal()类:def __init __(self,...

python inheritance class-method unpack
1个回答
0
投票

这是因为游览没有从Dogsay_noise方法返回任何内容。像这样更新您的代码,

© www.soinside.com 2019 - 2024. All rights reserved.