gpt4 book ai didi

python - "foo is None"和 "foo == None"之间有什么区别吗?

转载 作者:IT老高 更新时间:2023-10-28 12:14:19 26 4
gpt4 key购买 nike

两者有什么区别:

if foo is None: pass

if foo == None: pass

我在大多数 Python 代码(以及我自己编写的代码)中看到的约定是前者,但我最近遇到了使用后者的代码。 None 是 NoneType 的一个实例(也是唯一的实例,IIRC),所以没关系,对吧?有没有什么情况下可能?

最佳答案

is 如果比较相同的对象实例,总是返回 True

== 最终由 __eq__() 方法决定


>>> class Foo(object):
def __eq__(self, other):
return True

>>> f = Foo()
>>> f == None
True
>>> f is None
False

关于python - "foo is None"和 "foo == None"之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com