首页 > 解决方案 > python:AttributeError: 'GameStats' 对象没有属性 'click_first'

问题描述

我是 python 新手,抱歉

class GameStats():

    def __init__(self,ai_setting):
        self.ai_setting = ai_setting
        self.game_active = False
        self.reset_stats()
        self.click_first = True

    def reset_stats(self):
        if self.click_first:
            self.cobweb_left = self.ai_setting.web_limit
            self.click_first = False
        else:
            self.cobweb_left = self.ai_setting.web_limit+1

错误:AttributeError:“GameStats”对象没有属性“click_first”

不知道为什么我们不能用self.click_first的值来测试?
我尝试像这样设置一个新变量:

    click = self.click_first
    if click:

但这是错误的。
非常感谢!!!

标签: pythonattributeerror

解决方案


试试这个(我已经切换了 2 行)

class GameStats():

    def __init__(self,ai_setting):
        self.ai_setting = ai_setting
        self.game_active = False
        self.click_first = True  <<<
        self.reset_stats()       <<<


    def reset_stats(self):
        if self.click_first:
            self.cobweb_left = self.ai_setting.web_limit
            self.click_first = False
        else:
            self.cobweb_left = self.ai_setting.web_limit+1

您在定义reset_stats 之前调用该方法self.click_first,因此首先定义它就可以了!


推荐阅读