ホームページ >バックエンド開発 >Python チュートリアル >Python のバインドされたメソッド、アンバインドされたメソッド、および静的なメソッドの主な違いは何ですか?
Python のクラス メソッドの違いを理解する: バインド、アンバインド、静的
バインド メソッドとアンバインド メソッドは、Python のオブジェクト指向プログラミングにおける別個の概念です。 .
バインドされたメソッドは、特定のオブジェクトに対して動作するため、クラスのインスタンスに関連付けられます。バインドされたメソッドを呼び出す場合、関数の最初のパラメーターはオブジェクト インスタンスを表します (例: a_test.method_one())。一方、
アンバインド メソッドは特定のオブジェクト インスタンスに関連付けられません。これらは、クラス名 (例: Test.method_two()) を使用して定義されます。
ここで示したコード スニペットは、バインドされたメソッドとアンバインドされたメソッドの両方を例にしています。 Method_one 関数は、オブジェクト構文を使用して a_test インスタンスにバインドされますが、method_two はアンバインドされており、オブジェクト インスタンスを呼び出す必要はありません。
静的メソッドは、アクセス権を持たない特殊なタイプのアンバインド メソッドです。自己パラメータに。これらは @staticmethod デコレータを使用して宣言され、クラス オブジェクトとインスタンス オブジェクトの両方で直接呼び出すことができます。
変更されたコード スニペット内:
@staticmethod def method_two(): print "Called method two"
method_two 関数は静的メソッドに変換されます。 。これにより、エラーを発生させることなく、a_test.method_two() と Test.method_two() の両方として呼び出すことができます。
バインドされたメソッドは最も一般的なタイプで、オブジェクト インスタンスを操作するときに使用されます。非バインド メソッドは、特定のオブジェクト コンテキストを必要としないユーティリティ関数に役立ちます。静的メソッドは、クラスレベルの関数を定義する方法を提供します。
以上がPython のバインドされたメソッド、アンバインドされたメソッド、および静的なメソッドの主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。