Python双等号对没有实现eq的对象有什么作用

时间:2019-06-02 23:10:07

标签: python equality

这是一个非常基本的Python问题,但我找不到快速答案。说我有

class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

node1 = Node(1)
node2 = Node(2)
node1 == node2 # False
node1.__eq__(node2) # NotImplemented

我已经读到NotImplemented是真实的,所以现在我们有了

if node1.__eq__(node2):
    print('yes') # prints 'yes'

if node1 == node2:
    print('yes') # does not print

您能解释一下==在这里做什么吗?它调用is还是自node1 == node1为True以来的其他内容?

0 个答案:

没有答案