小编典典

Python != operation vs “is not”

python

在对此问题的评论中,我看到了一条建议使用的声明

result is not None

result != None

我想知道两者之间有什么区别,为什么可能要推荐一个而不是另一个?


阅读 220

收藏
2020-12-20

共1个答案

小编典典

==是一项平等测试。它检查右手侧和左手侧是否相等的对象(根据它们__eq____cmp__方法)。

is是身份测试。它检查右侧和左侧是否是同一对象。没有方法调用完成,对象不能影响is操作。

您可以将is(和is not)用于单例,例如None,您不关心可能假装为的对象,None或者想要与之进行比较时要防止对象破裂的地方None。

2020-12-20