While I appreciate that use of "is" in   thing is None, I claim this relies on 
knowledge of how Python works internally, to know that every None actually is 
the same ID (the same object) - it is singular.  That probably works for 0 and 
1 also but you probably wouldn't consider testing   thing is 1, at least I hope 
you wouldn't.  thing is None looks just as odd to me.  Why not thing == None ?  
That works.

--- Joseph S.

-----Original Message-----
From: Tobiah <t...@tobiah.org> 
Sent: Tuesday, July 24, 2018 3:33 PM
To: python-list@python.org
Subject: Checking whether type is None

Consider:

        >>> type({}) is dict
        True
        >>> type(3) is int
        True
        >>> type(None) is None
        False

Obvious I guess, since the type object is not None.
So what would I compare type(None) to?

        >>> type(None)
        <type 'NoneType'>
        >>> type(None) is NoneType
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        NameError: name 'NoneType' is not defined


I know I ask whether:

        >>> thing is None

but I wanted a generic test.
I'm trying to get away from things like:

        >>> type(thing) is type(None)

because of something I read somewhere preferring my original test method.


Thanks

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to