如何在python中“testing”NoneType?

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

if not new: new = '#' 

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

那么我怎样才能问一个variables是一个NoneType?

使用is运营商,就像这样

 if variable is None: 

为什么这个工作?

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

引用来自文档 ,

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

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


从马的嘴里听到它

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

比较像None这样的单身人士应该总是用“ is或“ is not ,而不是“平等”

 if variable is None: print 'Is None' 

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