Class属性显然在那里,但python找不到它
为什么我会得到这个属性错误Class属性显然在那里,但python找不到它,python,class,object,attributeerror,Python,Class,Object,Attributeerror,为什么我会得到这个属性错误 class GameState(object): """Keeps track game state variables""" def __init__(self, convo_flag=0, characters_talked_to=0, convo_log=(None)): self.convo_flag = convo_flag self.characters_talked_to = characters_talked_to se
class GameState(object):
"""Keeps track game state variables"""
def __init__(self, convo_flag=0, characters_talked_to=0, convo_log=(None)):
self.convo_flag = convo_flag
self.characters_talked_to = characters_talked_to
self.convo_log = convo_log
def welcome_screen():
global LAST_NAME
global BULLY
global DAY
raw_input(messages.WELCOME)
LAST_NAME = raw_input(messages.LAST_NAME)
BULLY = characters.random_character(cclass='Camper', gender='m')
print 'Your name is Pickett %s' % LAST_NAME
messages.print_messages([
messages.EXPLANATION,
messages.BUS_LOADING,
messages.CRACK,
messages.GAME_KID_LOST])
return week_one(DAY)
def week_one(day):
if day == 1:
messages.print_messages(messages.WEEK_ONE[day])
campers = characters.random_character_sample(cclass='Camper', count=5)
people_outside_theater = campers + [characters.TROID]
while GameState.characters_talked_to != 3:
我不明白为什么我会得到这个属性错误,我完全在那个构造函数中声明了它,如果我需要在构造函数之外声明它,我会缺少什么吗?这真是伤了我的脑筋
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pickett.py", line 44, in welcome_screen
return week_one(DAY)
File "pickett.py", line 52, in week_one
while GameState.characters_talked_to != 3:
AttributeError: type object 'GameState' has no attribute 'characters_talked_to'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
欢迎屏幕中第44行的文件“pickett.py”
返回第一周(天)
第一周第52行“pickett.py”文件
当GameState.characters\u与您交谈时!=三:
AttributeError:类型对象“GameState”没有属性“characters\u-to”
您需要创建一个实例,以便像这样使用您的类:
gameState = GameState()
while gameState.characters_talked_to != 3:
在您的代码中,您试图访问未在类中定义的内容 您需要创建一个实例,以便像这样使用您的类:
gameState = GameState()
while gameState.characters_talked_to != 3:
在您的代码中,您试图访问未在类中定义的内容 您的
\uuuuu init\uuuuuuu
函数在self
上设置字符
,这是游戏状态
的一个实例
您没有将其设置为游戏状态
,这是一个类
您也没有创建任何
游戏状态的实例,因此在任何情况下\uuuuu init\uuuu
都不会被您的程序调用。您的\uuuu init\uuuuu
函数集字符在self
上与之对话,这是游戏状态的一个实例
您没有将其设置为游戏状态
,这是一个类
您也没有创建任何游戏状态的实例
,因此在任何情况下,您的程序都不会调用\uuuu init\uuuu
。我做了这些更改,但仍然会得到完全相同的错误!该游戏状态没有名为yada yada yadat的属性这是我在编辑时的错误,我做了一个新的属性来反映我代码的当前状态。它可以工作!糟糕的是,我忘了我需要重新加载模块,仍然是一个python noob,非常感谢大家!我做了这些更改,但仍然得到完全相同的错误!该游戏状态没有名为yada yada yadat的属性这是我在编辑时的错误,我做了一个新的属性来反映我代码的当前状态。它可以工作!糟糕的是,我忘了我需要重新加载模块,仍然是一个python noob,非常感谢大家!如果它“真的”在那里,那么Python就会找到它。注意断言,练习用更中性的语气写标题/问题。(同样,“类属性”和“[对象]数据属性”是不同的…)如果它“真的”在那里,那么Python会找到它。注意断言,练习用更中性的语气写标题/问题。(同样,“类属性”和“[对象]数据属性”是不同的…)