IronPython:instancemethod对象继承拥有类的运算符重载

时间:2016-01-04 15:40:07

标签: methods operator-overloading ironpython

我用IronPython(2.7.5)遇到了一个奇怪的现象。请查看以下示例代码:

class X(object):        
    def __eq__(self, other):
        print "__eq__"
        return False

    def foo(self):
        return 1

a = X()

print a.foo == a.foo

使用IronPython运行时输出为:

__eq__
False

我不明白为什么使用类X的相等运算符重载(a.foo具有类型instancemethod,而不是X)。

使用CPython时输出为

True

我猜这是IronPython中的一个错误。有人同意吗?

0 个答案:

没有答案