了解Python __init__

时间:2017-03-27 23:36:57

标签: python python-2.7 parameters initialization init

我有一个名为Game的课程,我有

class Game:
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

以及我所拥有的一切

def main():
    g = Game()
    while True:
        g.__init__(5,10,4)

运行我的程序时出现以下错误:

TypeError: __init__() takes exactly 4 arguments (1 given)

我想我对__init__的理解一定缺乏,但我不明白为什么会这样。 init可以不带参数吗?

1 个答案:

答案 0 :(得分:1)

您不能从主程序中明确调用 __ init __ ;当您创建游戏类型的实例(对象)时,会自动调用此方法。你需要的更简单:

def main():
    g = Game(5, 10, 4)

这四个参数是 self 和三个整数;错误来自原始编队,你只给了它自我

另外,请注意,最后两行是初始化对象的无限循环。这将使你的游戏非常无聊,因为它永远不会完成初始化。 : - )