You should only use is with None. For there is and can only ever be one object of type NoneType. If a routine may return None, we know it isthe same constant None object used everywhere in Python.
That is if a==None and b==None then a is b. However, no such identity should be assumed for values other than None.