我正在经历“艰苦地学习Python”,我上了课。我明白了(至少我想我明白了!)试着用我自己的名字,函数等创造一个简单的变体。。。你知道吗
现在我遇到的问题是,代码不会在命令行\ powershell中返回任何内容。它没有任何错误,只是转到另一行输入。你知道吗
代码如下:
class Animal(object):
'''represents any animal'''
def __init__(self, legs, size):
self.legs = legs
self.size = size
def detail_animal(self):
'''show # of legs and size'''
print "Name: %r\nAge: %r" % (self.legs, self.size)
class canine(Animal):
'''represents a canine'''
def __init__(self, legs, size, hair_length):
Animal.__init__(self, legs, size)
self.hair_length = hair_length
def detail_canine(self):
Animal.detail(self)
print 'Has %r inch long hairs.' % self.hair_length
class feral_cat(Animal):
'''represents a feral cat'''
def __init__(self, legs, size, tail_length):
Animal.__init__(self, legs, size)
self.tail_length = tail_length
def detail_feral(self):
Animal.detail(self)
print "Tail Length: %r" % tail_length
c1 = canine(4, 2, 0.5)
c2 = canine(5, 3, 0.75)
fc1 = feral_cat(4, 5, 3)
a = Animal(4, 2)
提前谢谢!你知道吗
代码中存在一些问题:
Animal
类没有名为detail
的方法,您可以尝试在其所有子类中调用该方法。您可能应该将detail_animal(self)
重命名为detail(self)
。要让程序打印一些输出,请在末尾添加以下行:此外,如果您的程序打算尝试方法重写,即在子类中重新定义基类方法的可能性,您应该尝试将
detail_canine(self)
和detail_feral(self)
更改为detail(self)
。请记住在我建议您添加的行中也进行更改!您将看到,当您实例化(即创建)基类Animal
的detail(self)
方法的对象时,将调用该对象;当您实例化其中一个子类时,将调用该类的detail(self)
方法。你知道吗相关问题 更多 >
编程相关推荐