class A(object):
def __cmp__(self):
print '__cmp__'
return object.__cmp__(self)
def __eq__(self, rhs):
print '__eq__'
return True
a1 = A()
a2 = A()
print a1 in set([a1])
print a1 in set([a2])
为什么第一行输出True,而第二行输出False?而且两者都没有进入运算符eq?我正在使用Python 2.6。
__hash__
方法。 - millimoose__cmp__
函数后运行这段代码吗? - inspectorG4dgetx.__contains__(y) <==> y in x
- wim