関数、非バインド メソッド、およびバインド メソッドの違いを理解する
関数、非バインド メソッド、およびバインド メソッドの区別を理解することが重要ですPython でプログラミングするため。このガイドでは、違いを解明し、それらがどのように変換されるかを説明し、その使用法を示す例を示します。
関数
関数は、def ステートメントまたはラムダで定義されます。これらは、特定の操作を実行するスタンドアロン ステートメントです。
非バインド メソッド
Python 2 では、クラス本体内で定義された関数は非バインド メソッドに変換されます。これらは依然として関数ですが、クラスである暗黙の最初のパラメータを持っています。
バインドされたメソッド
非バインド メソッドがクラス インスタンスでアクセスされると、変換されます。バインドされたメソッドに。クラス インスタンスは、最初の self パラメータとしてメソッドに自動的に渡されます。
変換
使用法
Example
次のコードを考えてみましょう:
<code class="python">def f1(self): pass class C(object): f1 = f1</code>
ここで、f1 は関数、C.f1 は非バインド メソッド、C().f1 はバインド メソッドです。
Python 3 の区別
Python 3 では、アンバインド メソッドの概念が排除されています。クラス インスタンスでアクセスされた関数は、単純に元の関数として返されます。
以上がこの記事に適合する質問ベースのタイトルをいくつか示します。 主な違いに焦点を当てる: * Python の関数、非バインド メソッド、バインド メソッド: 違いは何ですか? * Python: Functiontio の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。