我想覆蓋Python中類dict
的一個方法,簡單的方法如下:update
。假設我想創建一個MyDict
類,它與標準dict
相同,不同之處在於它可以更新爲dict
,它必須包含至少10個元素。覆蓋方法不會陷入無限遞歸
因此,我將繼續這樣的:
def update(self, newdict):
if len(newdict) <= 10: raise Exception
self.update(newdict)
但到update
內通話,顯然Python會自動調用重寫的功能,而不是原來的一個。有沒有辦法避免這種情況,而不是簡單地改變函數名稱?
爲Python 3.x的,你可以簡單地使用'超()。更新(newdict)' – 2013-01-07 16:12:26
感謝@Mahi。添加。 – zigg