首先代碼: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