繁体   English   中英

__ne__是否使用重写的__eq__?

[英]Does __ne__ use an overridden __eq__?

假设我有以下程序:

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

a0 = A() 
a1 = A() 
print a0 != a1

如果使用Python运行它,则输出为True 我的问题是

  1. 没有实现__ne__方法,Python是否属于默认方法?
  2. 如果Python落在默认方法上以确定两个对象是否相等,那么它不应该调用__eq__然后否定结果吗?

来自文档

比较运算符之间没有隐含的关系。 x==y的真实性并不意味着x!=y是假的。 因此,在定义__eq__() ,还应该定义__ne__()以便运算符按预期运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM