在Python中,object()是否等于除自身之外的任何东西?

在Python中,object()是否等于除自身之外的任何东西?,第1张

在Python中,object()是否等于除自身之外的任何东西?

object
没有实现
__eq__
,因此回退到默认比较
id(x) == id(y)
,即 它们是同一对象实例
x is y
)吗?

每次调用都会创建一个新实例

object()
my_object
它将永远不会*等于除自身以外的任何值。

这适用于2.x和3.x:

# 3.4.0>>> object().__eq__(object())NotImplemented# 2.7.6>>> object().__eq__(object())Traceback (most recent call last):  File "<pyshell#60>", line 1, in <module>    object().__eq__(object())AttributeError: 'object' object has no attribute '__eq__'

*或更确切地说,正如

roippi
答案所指出的, 几乎没有 假设
__eq__
其他地方的明智实现。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5650787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存