如何优雅地重写__eq__

魔法方法

class myclass:
     def __eq__(self, other):

他重写了所有的==,操作.
而我想要的效果是,仅当与同类比较时候采用这个__eq__
请问如何优雅地实现

#目前的做法,但不优雅
 def __eq__(self, other):
        if type(other)==type(self):
            return self.value==other.value
        else:
            super(SBTNode, self).__eq__(other)
阅读 6.5k
2 个回答

不知道更简洁的

else 可以省略; super 那边漏了 return 了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题