Checking whether type is None

David Raymond David.Raymond at tomtom.com
Tue Jul 24 15:56:54 EDT 2018


https://docs.python.org/3.7/library/constants.html

"None
The sole value of the type NoneType..."

"x is None" and "type(x) is type(None)" are equivalent because of that.

I think though that the better way to do the first tests would be to use isinstance
https://docs.python.org/3.7/library/functions.html#isinstance

isinstance({}, dict)
isinstance(3, int)

And I suppose if you really wanted:
isinstance(None, type(None))


-----Original Message-----
From: Python-list [mailto:python-list-bounces+david.raymond=tomtom.com at python.org] On Behalf Of Tobiah
Sent: Tuesday, July 24, 2018 3:33 PM
To: python-list at 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


More information about the Python-list mailing list