理解 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.
另外请注意,您的最后两行将是一个无限循环来初始化对象。这会使您的游戏非常无聊,因为它永远不会完成初始化。 :-)
我有一个名为 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.
另外请注意,您的最后两行将是一个无限循环来初始化对象。这会使您的游戏非常无聊,因为它永远不会完成初始化。 :-)