比较变量和非变量的正确方法

2024-09-24 22:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

测试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))

Tags: to方法testnoneisvar建议pep
1条回答
网友
1楼 · 发布于 2024-09-24 22:19:49

不,从来没有理由使用这种结构。你知道吗

不能将NoneType子类化。唯一能够通过测试的对象是None单例。这一行可能是由不知道这一点的人写的,他认为他们也需要测试子类。你知道吗

相关问题 更多 >