在python中确定变量的类型是NoneType

spl*_*ter 8 python types python-3.x nonetype

我想检查变量是否属于该NoneType类型.对于其他类型,我们可以做以下事情:

    type([])==list
Run Code Online (Sandbox Code Playgroud)

但是NoneType这种简单的方法是不可能的.也就是说,我们不能说type(None)==NoneType.还有另一种方法吗?为什么有些类型而不是其他类型可能?谢谢.

Ale*_*all 16

NoneType恰好不会自动进入全球范围.这不是一个真正的问题.

>>> NoneType = type(None)
>>> x = None
>>> type(x) == NoneType
True
>>> isinstance(x, NoneType)
True
Run Code Online (Sandbox Code Playgroud)

在任何情况下,进行类型检查都是不寻常的.相反,你应该测试x is None.


Jea*_*bre 8

当然你可以做到.

type(None)==None.__class__

True
Run Code Online (Sandbox Code Playgroud)