相关疑难解决方法(0)

python等于优先级

class L(object):
    def __eq__(self, other):
        print 'invoked L.__eq__'
        return False

class R(object):
    def __eq__(self, other):
        print 'invoked R.__eq__'
        return False

left = L()
right = R()
Run Code Online (Sandbox Code Playgroud)

有了这个代码,左侧得到在比较的第一枪,作为记录在数据模型:

>>> left == right
invoked L.__eq__
False
Run Code Online (Sandbox Code Playgroud)

但是如果我们在第6行稍作修改(其他一切都相同):

class R(L):
Run Code Online (Sandbox Code Playgroud)

现在,右侧比较可以获得第一杆.

>>> left == right
invoked R.__eq__
False
Run Code Online (Sandbox Code Playgroud)

这是为什么?它在哪里记录,以及设计决策的原因是什么?

python equality python-2.x

19
推荐指数
1
解决办法
293
查看次数

标签 统计

equality ×1

python ×1

python-2.x ×1