所以我一直在做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类中返回相同的2件事。 现在,当我对Animal进行say_noise()时,它会正常工作,因为它会返回:
('I am an animal','Animal')
但是,当我使用Dog类进行操作时,它什么也不会返回,我也尝试将它们解包(这是我在实际代码中的目标),但是当我这样做时。
a,b =doggy.say_noise()
它只是返回这个:
TypeError:无法解包不可迭代的NoneType对象
如何仅通过从父类继承它来使用相同的类方法返回相同的东西?