访问"本地"变量

Cli*_*Hui 0 python google-app-engine

def get(self):
    if self.request.get('fmt')=='json':
        KeyofQuestion = self.request.path[1:]
        QuestionText = Question.get_by_key_name(KeyofQuestion).question
        AnswersQuery = Question.get_by_key_name(KeyofQuestion).answers_collection
        a=[]
        Jsonobject = {'Question':QuestionText}
        for each in AnswersQuery:
            a = a.append(each.answer)
Run Code Online (Sandbox Code Playgroud)

嘿,我只是感到困惑,当我运行上面的代码时,我得到一个错误,上面写着,Nonetype变量:一个没有方法追加,但我在调用之前将a声明为一个列表并且它们在同一个函数中"获取"所以我认为它们都被视为局部变量.怎么不能映射呢?谢谢

sam*_*ias 6

你要分配Nonea.改变这个:

a = a.append(each.answer)
Run Code Online (Sandbox Code Playgroud)

至:

a.append(each.answer)
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`a = [AnswersQuery中每个的每个答案]` (2认同)