如何访问NoneType类型?

时间:2017-01-30 04:02:55

标签: python

例如,查看无类型,我们可以看到它有NoneType

>>> type(None)
NoneType

但尝试访问NameError时会产生NoneType

>>> NoneType
NameError: name 'NoneType' is not defined

如何访问NoneType

2 个答案:

答案 0 :(得分:8)

嗯,在Python 2中,您可以从types模块中导入它:

from types import NoneType

但实际上并没有在那里或其他任何地方实施。 types.py只是NoneType = type(None)。您也可以直接使用type(None)

在Python 3中,types.NoneType名称消失了。只需使用type(None)

如果type(None)为您显示NoneType,而不是像<class 'NoneType'>那样,您可能会使用某些非标准的解释器设置,例如IPython。它通常显示为类似<class 'NoneType'>的内容,更清楚的是您不能只输入NoneType并获取类型。

答案 1 :(得分:2)

正如@dawg在评论中所建议的,你可以做到

if (type(some_object).__name__ == "NoneType"):
  # Do some
  pass

您也可以

NoneType = type(None)    
isinstance(some_object, NoneType)