测试NoneType
变量的常用方法是检查它是否引用了None
单音:
test_var is None
建议将此方法作为根据PEP-8检查None
的唯一方法:
Comparisons to singletons like None should always be done with is or is not, never the equality operators.
尽管有时我会在不同的来源中发现以下测试:
isinstance(test, type(None))
这种方式看起来不错,但我不太明白为什么简单易读的结构可以被isinstance
取代。它对某些情况更有用吗?或者可能被称为代码样式?你知道吗
UPD:我发现使用isinstance
的唯一非类型检查非常有用(到目前为止):
isinstance(None, (NoneType, str, float))
不,从来没有理由使用这种结构。你知道吗
不能将
NoneType
子类化。唯一能够通过测试的对象是None
单例。这一行可能是由不知道这一点的人写的,他认为他们也需要测试子类。你知道吗相关问题 更多 >
编程相关推荐