我有一個類可調用的類A
。我還有一個叫做B
的A
的子類,我不想調用它。當我嘗試調用它時,它應該提高正常的「不可調用」TypeError
。可調用類的不可調用子類
class A():
def __call__(self):
print "I did it"
class B(A):
def __call__(self):
raise TypeError("'B' object is not callable")
正如您所看到的,我現在的解決方案是提高正常TypeError
的副本。這感覺不對,因爲我只是複製標準python異常的文本。如果有一種方法將子類標記爲不可調用,然後讓python處理該屬性,那會更好(在我看來)。
考慮到B
類是可調用類A
的子類,使B
類不可調用的最佳方法是什麼?
嗯。您是否考慮過標準['NotImplementedError'](http://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError)? – woozyking
您可能想重新考慮您的設計。如果B沒有實現A聲明的方法,你真的可以說B是一種A嗎? – Kevin