2016-09-06 57 views
0

我有一個基類類X,和子類Y,它可以重新實現或不能從基類X的方法知道如果兒童類實現一個父類的方法

我通過子類的名稱作爲函數的一個變量。

在這些函數裏面,我需要測試這個類是否已經實現,或者是否從它的基類中實現了某些方法。

(我不能使用hasattr(childClassName.methodName),因爲它總是返回true)

+3

的可能的複製[python基類如何知道子類是否覆蓋了它的方法?](http://stackoverflow.com/questions/1776994/how-can-a-python-base-class-tell-whether-a-sub -class-has-overriden-its-methods) – webmaster

+0

我想知道爲什麼有人將我的問題標記爲重複的,這不像我說的編輯問題,然後投票下來,這是沒有意義的。 – darkgaze

+0

那是因爲它與標記的問題完全一樣。你想讓我刪除我的評論嗎? – webmaster

回答

1

使用比較:

getattr(className, 'methodName') is getattr(className, 'method') 

如果false,該方法已被重寫