4
我正在尋找修改一些第三方Python代碼的行爲。有很多從基類派生的類,爲了輕鬆實現我的目標,最簡單的方法就是覆蓋用於派生所有其他類的基類。有沒有簡單的方法來做到這一點,而無需觸摸任何第三方代碼?如果我沒有解釋清楚:Python:覆蓋基類
class Base(object):
'...'
class One(Base)
'...'
class Two(Base)
'...'
...我沃爾德想進行修改,Base
沒有實際修改上面的代碼。也許是這樣的:
# ...code to modify Base somehow...
import third_party_code
# ...my own code
Python可能有這個問題的一些可愛的內置解決方案,但我還沒有意識到它。
你心裏有什麼改變? – NPE
'Base'有一些需要修改的子類使用的方法。 –
應該可以在'Base.method = new_method'這樣的東西中進行猴子補丁,這將在子類的實例中正確解析。 – joeln