For example looking at the type of None, we can see that it has NoneType
:
>>> type(None)
NoneType
However a NameErr
Well, in Python 2, you can import it from the types module:
from types import NoneType
but it's not actually implemented there or anything. types.py
just does NoneType = type(None)
. You might as well just use type(None)
directly.
In Python 3, the types.NoneType
name is gone. Just use type(None)
.
If type(None)
shows NoneType
for you, rather than something like <class 'NoneType'>
, you're probably on some nonstandard interpreter setup, such as IPython. It'd usually show up as something like <class 'NoneType'>
, making it clearer that you can't just type NoneType
and get the type.
As suggested by @dawg in the comments, you can do
if (type(some_object).__name__ == "NoneType"):
# Do some
pass
You can also do
NoneType = type(None)
isinstance(some_object, NoneType)