在我的最后一行代码中,当我调用'walk()‘方法时,什么都不会发生。但是当我在控制台中运行它时,我会得到一个错误:
回溯(最近一次调用):File "",第2行,在AttributeError中:‘Bull犬类’对象没有属性‘has’
class Pets:
def __init__(self,dogs):
self.dogs=dogs
class Dog:
# Class attribute
species = 'mammal'
# Initializer / Instance attributes
def __init__(self, name, age):
self.name = name
self.age = age
self.is_hungry = True
# instance method
def eat(self):
self.is_hungry = False
#Walk instance method
def walk(self):
return "{} is walking!" .format(self.name)
# Child class (inherits from Dog class)
class RussellTerrier(Dog):
def run(self, speed):
return "{} runs {}".format(self.name, speed)
# Child class (inherits from Dog class)
class Bulldog(Dog):
def run(self, speed):
return "{} runs {}".format(self.name, speed)
# create isntances of dogs
my_dogs = [
Bulldog("Tom", 6),
RussellTerrier("Fletcher", 7),
Dog("Larry", 9)
]
my_Pets=Pets(my_dogs)
#walking
for doggy in my_Pets.dogs:
doggy.walk()发布于 2019-02-21 19:02:31
您的walk方法正在返回一个string。如果您期望它打印字符串,那么您需要显式地这样做。最后两行应该是:
for doggy in my_Pets.dogs:
print(doggy.walk())AttributeError的问题很可能是复制粘贴到控制台的方式。
https://stackoverflow.com/questions/54814321
复制相似问题