3 回答
不负相思意
TA贡献1777条经验 获得超10个赞
class Foo:
def __eq__(self,other):
return True
foo=Foo()
print(foo==None)
# True
print(foo is None)
# False
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
在这种情况下,它们是相同的。None是一个单例对象(只存在一个None)。
is 检查对象是否是同一个对象,而==只是检查它们是否相同。
例如:
p = [1]
q = [1]
p is q # False because they are not the same actual object
p == q # True because they are equivalent
但由于只有一个None,它们将始终相同,is并将返回True。
p = None
q = None
p is q # True because they are both pointing to the same "None"
添加回答
举报
0/150
提交
取消