Record: 2.pycharm: related problems with initialization

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

Before writing this statement, the program can run successfully, but an error occurs after writing:

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

Literally, the initialization condition accepts only one piece of information, but is given two pieces of information

Return to the file where the method GameStats is located and find:

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

change into:

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

It runs successfully and the effect meets expectations.

Guess you like

Origin blog.csdn.net/weixin_45314061/article/details/129960160