python - 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:
但这是错误的。
非常感谢!!!
解决方案
试试这个(我已经切换了 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
,因此首先定义它就可以了!