理解 Python __init__

Understanding Python __init__

我有一个名为 class 的游戏,其中有

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可以不带参数吗?

您没有从主程序中显式调用 __init__;当您创建 Game 类型的实例(对象)时,会自动调用它。你需要的更简单:

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

四个参数是self和三个整数;错误来自原始格式,你只给了它 self.

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