Why do I get AttributeError: 'NoneType' object has no attribute 'something'?
Others have explained what
NoneType is and a common way of ending up with it (i.e., failure to return a value from a function).
Another common reason you have
None where you don't expect it is assignment of an in-place operation on a mutable object. For example:
mylist = mylist.sort()
sort() method of a list sorts the list in-place, that is,
mylist is modified. But the actual return value of the method is
None and not the list sorted. So you've just assigned
mylist. If you next try to do, say,
mylist.append(1) Python will give you this error.