型モジュールのmethodtypesを使用する利点は何ですか?オブジェクトにメソッドを追加するために使用されます。しかし、我々はそれなしで簡単にそれを行うことができます。Pythonでmethodtypeを使用する利点
def func():
print 1
class A:
pass
obj = A()
obj.func = func
それは我々がdel func
によってメインスコープでFUNCを削除しても動作します。
なぜメソッドタイプを使用したいのですか?それは単なる大会か良いプログラミングの習慣ですか?
これは本当に 'obj'にメソッドを追加していません。 'obj.func()'は 'func()'だけを呼び出すのと同じです。メソッドは、インスタンスをposition引数として受け取ります。 'func .__ get __(obj、A)'で束縛されたメソッドを作成することもできますが、 'func'は引数を取らないので、どちらも機能しません。 –
あなたの関数 'func'には' self'引数はありません。クラスの*メソッド*をアタッチしたり、置き換えたりするときは 'type'を使います。ここでは、*関数*をクラスに追加するだけです。 – Cyrbil