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