我无法打印所有这些。我错过了什么?
class Animal():
def __init__(self):
print("I am an animal")
class Mammal(Animal):
def __init__(self,mouse, dog, cat):
self.mouse = mouse
self.dog = dog
self.cat = cat
print("I am a mammal")
def Mouse_mammal(self):
mouse = "I am a mouse"
print(mouse)
def Dog_mammal(self):
print("I am a dog")
def Cat_mammal(self):
print("I am a cat")
class Reptile(Animal):
def __init__(self):
print("I am a reptile")
def Alligator_reptile(self):
print("I am a reptile")
def Lizard_reptile(self):
print("I am a lizard")
答案 0 :(得分:0)
定义类后,必须创建每个类的实例。你必须调用每个类的每个方法。例如
animal = Animal()
mammal = Mammal()
mammal.Mouse_mammal('mouse', 'dog', 'cat')
mammal.Dog_mammal()
mammal.Cat_mammal()
reptile = Reptile()
reptile.Alligator_reptile()
reptile.Lizard_reptile()
答案 1 :(得分:0)
您的代码什么都不做。
我的意思是,它确实声明并定义了很多东西,但确实没有。
基本上,你的代码所做的是描述你的情况:你有动物,可以是哺乳动物或爬行动物......但这就是全部。
如果你想得到一些反馈,比如打印,你必须让这些事情发生。您已定义类,并且必须实例化它们。这样做如下:
>>> lizard = Reptile()
>>> lizard.Lizard_reptile()
"I am a lizard"
然而,你似乎对你正在做的事情有点困惑,从方法名称的大写字母的使用来判断。在您的代码中,Lizard_reptile
和Alligator_reptile
是方法,而不是类。这意味着不存在例如蜥蜴的对象。
您似乎想要使用继承,并创建一个继承自Lizard
的{{1}}和Alligator
类,这是此问题的逻辑概念。
嗯,这与您从Reptile
继承的Reptile
和Mammals
一样完成。