TypeError: 'NoneType' object has no attribute '__getitem__'

前端 未结 3 957
野趣味
野趣味 2020-12-05 18:02

I\'m having an issue and I have no idea why this is happening and how to fix it. I\'m working on developing a Videogame with python and pygame and I\'m getting this error: <

相关标签:
3条回答
  • 2020-12-05 18:26

    BrenBarn is correct. The error means you tried to do something like None[5]. In the backtrace, it says self.imageDef=self.values[2], which means that your self.values is None.

    You should go through all the functions that update self.values and make sure you account for all the corner cases.

    0 讨论(0)
  • 2020-12-05 18:30

    move.CompleteMove() does not return a value (perhaps it just prints something). Any method that does not return a value returns None, and you have assigned None to self.values.

    Here is an example of this:

    >>> def hello(x):
    ...    print x*2
    ...
    >>> hello('world')
    worldworld
    >>> y = hello('world')
    worldworld
    >>> y
    >>>
    

    You'll note y doesn't print anything, because its None (the only value that doesn't print anything on the interactive prompt).

    0 讨论(0)
  • 2020-12-05 18:31

    The function move.CompleteMove(events) that you use within your class probably doesn't contain a return statement. So nothing is returned to self.values (==> None). Use return in move.CompleteMove(events) to return whatever you want to store in self.values and it should work. Hope this helps.

    0 讨论(0)
提交回复
热议问题