如何在python中“测试”NoneType?

我有一个方法有时返回一个NoneType值。 那么我怎么能问一个变量是一个NoneType? 例如,我需要使用if方法

if not new:
    new = '#'

我知道这是错误的方式,我希望你明白我的意思。


那么我怎么能问一个变量是一个NoneType?

使用is运营商,就像这样

if variable is None:

为什么这有效?

由于None是Python中唯一的NoneType对象, NoneType我们可以使用is运算符来检查变量是否具有None

从报价is文档,

运算符is is not测试对象的身份:当且仅当xy是同一个对象时, x is y是真的。 x is not y产生逆真值。

由于只能有一个None实例, is将是检查None的首选方法。


从马的嘴里听到它

引用Python的编码风格指南--PEP-008(由Guido自己共同定义),

None这样的单身人士的比较应该总是用“ is或“ is not从来 is not 平等运算符


if variable is None:
   print 'Is None'

-

if variable is not None:
   print 'Isn't None'

根据Alex Hall的回答,它也可以用isinstance完成:

>>> NoneType = type(None)
>>> x = None
>>> type(x) == NoneType
True
>>> isinstance(x, NoneType)
True

isinstance也很直观,但它需要线路的复杂性

NoneType = type(None)

这对intfloat类型是不需要的。

链接地址: http://www.djcxy.com/p/76621.html

上一篇: How to "test" NoneType in python?

下一篇: Handling NULL value in JSON response : Python Flask