Common Errors and Messages
Here are some common Python errors and error messages to look out for. Please let us give if you have any favorite additions for this list.
- A problem about NoneType often means you forgot a return.
def plus1 (x):
x + 1
>>> y = plus1(x)
>>> plus1(x) + 2
Traceback (most recent call last):
File "", line 1, in
TypeError that shows: unsupported operator type(s) for +: 'NoneType' and 'int'
- Weird results from math can give from integer division
>>> 3/ 9
0
- "Unsubscriptable object" seems you are trying to get an element out of something that isn't a dictionary, list, or tuple.
>>> x = 1
>>> x[3]
Traceback (most recent call last):
File "", line 1, in
TypeError that shows: 'int' object is unsubscriptable
- "Object is not callable" defines that you are trying to use something that isn't a procedure or method as if it were.
>>> x = 1
>>> x(3)
Traceback (most recent call last):
File "", line 1, in
TypeError that shows: 'int' object is not callable
- "List index out of range" describes that you are trying to read or write an element of a list that is not present.
>>> a = range(5)
>>> a
[0, 1, 2, 3, 4]
>>> a[5]
Traceback (most recent call last):
File "", line 1, in
IndexError that shows: list index out of range
- "Maximum recursion depth exceeded" produces the error has a recursive procedure that is nested your parent case is not being reached due to a bug.
def fizz(x):
return fizz(x - 1)
>>> fizz(10)
Traceback (most recent call last): File "", line 1, in File "", line 2, in fizz
File "", line 2, in fizz
...
File "", line 2, in fizz
RuntimeError that shows message: maximum recursion depth exceeded
- "Key Error " defines that you are trying to look up an element in a dictionary that is not present.
>>> d = {'a':7, 'b':8}
>>> d['c']
Traceback (most recent call last):
File "", line 1, in
KeyError: 'c'
- Another common error is forgetting the self before calling a function. This creates the same error that you would get if you tried to call a function that wasn't de?ned at all.
Traceback (most recent call last): File "", line 1, in File "V2.py", line 22, in
add
return add(v)
NameError: global name 'add' is not defined