使用__init__设置属性

时间:2017-06-24 21:26:15

标签: python class init

我正在为一个简单的游戏尝试pygame。我希望有一个班级Player,这样我就可以成为第二个或第三个玩家。

我希望玩家拥有像惠普这样的属性。所以我的代码是

class Player():
    HP=100
    Speed=5
    ICON=pygame.image.load('somepic.ipg')

但后来我希望玩家有不同的图标或HP,所以我试过

class Player():

    def __init__(self,HP,ICON):
    self.HP=HP
    self.ICON=ICON

我的代码就像:

P1=Player(80,someicon) 
P1.HP=P1.HP-damage

等等。但后来我得到了

AttributeError P1 doesn't have attribute.HP

我阅读了__init__的文档,但我不明白为什么它不起作用。我知道我可以使用:

P1=Player()
P1.HP=80
P1.ICON=someicon

但我想了解更多有关课程和__init__的内容。

1 个答案:

答案 0 :(得分:2)

在init方法中,您没有缩进函数def下的行。自我。*作业应该进一步缩进。