在一篇关于this question的 comments 中,我看到了一条建议使用
result is not None
vs
result != None
我想知道有什么区别,为什么一个会被推荐而不是另一个?
在一篇关于this question的 comments 中,我看到了一条建议使用
result is not None
vs
result != None
我想知道有什么区别,为什么一个会被推荐而不是另一个?
==
是equality test.它判断右侧和左侧是否是相等的对象(根据它们的__eq__
或__cmp__
方法)
is
是identity test.它判断右手侧和左手侧是否是同一个对象.没有方法调用,对象不会影响is
操作.
使用is
(和is not
)表示单例,如None
,在这种情况下,您不关心可能想要伪装成None
的对象,也不关心与None
进行比较时要防止对象损坏的对象.