将变量与无

时间:2017-11-22 18:00:12

标签: python python-3.x python-2.7 standards pep8

测试NoneType变量的常用方法是检查它是否指的是None单数:

test_var is None

建议将此方法作为根据PEP-8检查None的唯一方法:

  

比较像单曲这样的单身人士应该总是使用is或   不是,从不是平等的运营商。

虽然有时我会在不同的来源中找到以下测试:

isinstance(test, type(None))

这种方式看起来不错,但我无法弄清楚为什么简单易读的结构可能被isinstance取代。它是否对某些情况更有用,或者可能是指codestyle?

UPD:唯一使用isinstance进行的NoneType检查我觉得非常有用(到目前为止):

isinstance(None, (NoneType, str, float))

1 个答案:

答案 0 :(得分:4)

不,从不是使用该构造的理由。

您不能NoneType的子类。唯一能通过该测试的对象是None单例。这条线可能是由一个不知道这一点的人写的,并认为他们也需要测试子类。