MyClass
は、module.py
で定義されています。それを修正する方法はありません。私はモジュールをインポートして、オブジェクトのインスタンスを宣言すると、私のスクリプトを起動クラスの拡張方法
class MyClass:
def method(self, msg):
print 'from method:', msg
:
import module
foo = module.MyClass()
その後、私は自分自身の関数を書く:
しかし、私たちは、クラス定義は次のようになります知っていますdef function(msg):
print 'from function:', msg
foo.method('')
が使用されるたびに、私はfunction()
に電話して同じメッセージも出力するようにしたいと思います。
この状況をmonkey patching
と呼びますか?何が必要なのか?投稿1よりよいがあるまで、この解決策になってしまった
サブクラスそれとオーバーライド 'メソッド()'と'super()'を使って基本クラスの 'method()'を呼び出します。 –
サブクラスを作成するだけではない理由はありますか? –
申し訳ありませんが、私は 'MyClass'を継承することができません。 – alphanumeric