测试NoneType
变量的常用方法是检查它是否指的是None
单数:
test_var is None
建议将此方法作为根据PEP-8检查None
的唯一方法:
比较像单曲这样的单身人士应该总是使用is或 不是,从不是平等的运营商。
虽然有时我会在不同的来源中找到以下测试:
isinstance(test, type(None))
这种方式看起来不错,但我无法弄清楚为什么简单易读的结构可能被isinstance
取代。它是否对某些情况更有用,或者可能是指codestyle?
UPD:唯一使用isinstance
进行的NoneType检查我觉得非常有用(到目前为止):
isinstance(None, (NoneType, str, float))
答案 0 :(得分:4)
不,从不是使用该构造的理由。
您不能NoneType
的子类。唯一能通过该测试的对象是None
单例。这条线可能是由一个不知道这一点的人写的,并认为他们也需要测试子类。