首先代码:Python中比较不同类型
class myClass(object):
def __cmp__(self, other):
return cmp(type(self), type(other)) or cmp(self.__something, other.__something)
这是否产生同样的排序为其他类型的蟒蛇?这是否有一个正确的成语 ?
对谷歌四处望了一下,我发现在一些python docs相关信息。引用:
实现注意事项:除了数字 不同类型的的对象 通过它们的类型名称排序;对象 相同类型不支持 正确的比较是按其 地址排序。
这表明,如果我要遵循的行为,我应该用
class myClass(object):
def __cmp__(self, other):
return (cmp(self.__class__.__name__, other.__class__.__name) or
cmp(self.__something, other.__something))
尤其不幸的是,我可能有一个非常困难的时期mantaining传递与dict
s,这是一个特殊的情况下,我本来希望落实的。
我甚至需要检查我的参数类型吗? python甚至让我看到这个?
你能否详细说明这个问题。 '你的意思是'产生与python中其他类型相同的顺序'? – 2009-07-24 03:46:06