Paul LaFollette wrote: > 3) (this is purely philosophical but I am curious) Would it not be > more intuitive if > isinstance(None, <anything at all>) returned true?
Good grief no!!! None is an object. It has a type, NoneType. It's *not* a string, or a float, or an int, or a list, so why would you want isinstance() to *lie* and say that it is? Python is good for testing these sorts of ideas: >>> _isinstance = isinstance >>> def isinstance(obj, type): ... if obj is None: return True ... return _isinstance(obj, type) ... >>> x = "parrot" >>> if isinstance(x, str): ... print x.upper() ... PARROT >>> x = None >>> if isinstance(x, str): print x.upper() ... Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'upper' -- Steven -- http://mail.python.org/mailman/listinfo/python-list