记录:2.pycharm:初始化的相关问题

# 创建一个用于存储游戏信息的实例
        self.stats = GameStats(self)

在写入该语句之前,程序可以成功运行,但是写入之后出现报错:

Traceback (most recent call last):
  File "D:/python_train/alien_invasion/alien_invasion.py", line 265, in <module>
    ai = AlienInvasion()
  File "D:/python_train/alien_invasion/alien_invasion.py", line 34, in __init__
    self.stats = GameStats(self)
TypeError: __init__() takes 1 positional argument but 2 were given

由字面意思,初始化条件接受的只有一个信息,但是却被给予了两个信息

返回方法GameStats所在的文件,发现:

    def __init__(self):
        # 初始化统计信息
        self.settings = ai_game.settings
        self.reset_stats()

修改为:

    def __init__(self,ai_game):
        # 初始化统计信息
        self.settings = ai_game.settings
        self.reset_stats()

成功运行,且效果满足预期。

猜你喜欢

转载自blog.csdn.net/weixin_45314061/article/details/129960160