Python:Codecademy:类

时间:2013-12-10 18:11:28

标签: python class

我正在学习CodeAcademy(Python)的课程。

以下是说明:

向Animal类添加第二个成员变量health,并将其设置为字符串“good”。然后,创造两个新的动物:懒惰和豹猫。 (给他们任何你喜欢的名字或年龄。)继续打印你的河马,懒惰和猫眼的健康。


这是我的代码:

class Animal(object):
"""Makes cute animals."""
is_alive = True
health = "Good" 

def __init__(self, name, age):
    self.name = name
    self.age = age

def description(self):
    print self.name
    print self.age 
    print self.is_alive
    print self.health

hippo = Animal("Mary", 02)
sloth = Animal("Larry", 03)
ocelot = Animal("Karry", 04)

hippo.description()
sloth.description()
ocelot.description()

Code Academy返回:

“哎呀,再试一次。看起来你的三只动物并不都有”好“的健康。”


然而,当我输入代码时,所有这些代码都打印出“Good”。它看起来像这样:

玛丽 2 真正 好 拉里 3 真正 好 开瑞 4 真正 好


CodeAcademy描述的错误是什么?在此学习过程中,您将获得任何帮助或建议。

谢谢你提前。

2 个答案:

答案 0 :(得分:0)

你把第一个字母大写:“好”。 试试“好”。

此外,您正在类范围中设置类变量。在Python中,您希望为成员变量设置self.health = "good"。如果您在class Class下定义变量,它们将在类范围内,并且跨实例是全局的。

答案 1 :(得分:0)

我已经完成了Codecedemy,这是我的代码。

class Animal(object):
"""Makes cute animals."""
    is_alive = True
    health = "good"
    def __init__(self, name, age):
        self.name = name
        self.age = age
        # Add your method here!
    def description(self):
        print self.name
        print self.age       
hippo = Animal("Bob",100)
sloth = Animal("Sam", 1000000)
ocelot = Animal("Katherine", 3)
print hippo.is_alive, hippo.description
print hippo.health
print sloth.health
print ocelot.health