Checking whether type is None

Chris Angelico rosuav at gmail.com
Tue Jul 24 16:07:37 EDT 2018


On Wed, Jul 25, 2018 at 5:33 AM, Tobiah <toby at tobiah.org> wrote:
> 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.

There is nothing more generic in a type test than in simply saying "is
None". There are no other instances of NoneType. Don't try
type-checking None; just check if the object is None.

ChrisA



More information about the Python-list mailing list