この記事に適合する質問ベースのタイトルをいくつか示します。 主な違いに焦点を当てる: * Python の関数、非バインド メソッド、バインド メソッド: 違いは何ですか? * Python: Functiontio の使い方

Barbara Streisand
リリース: 2024-11-02 13:35:30
オリジナル
668 人が閲覧しました

Here are some question-based titles that fit the article:

Focusing on the Key Distinction:

* Functions, Unbound Methods, and Bound Methods in Python: What's the Difference?
* Python: How do Functions, Unbound Methods, and Bound Methods Differ?
* Unders

関数、非バインド メソッド、およびバインド メソッドの違いを理解する

関数、非バインド メソッド、およびバインド メソッドの区別を理解することが重要ですPython でプログラミングするため。このガイドでは、違いを解明し、それらがどのように変換されるかを説明し、その使用法を示す例を示します。

関数

関数は、def ステートメントまたはラムダで定義されます。これらは、特定の操作を実行するスタンドアロン ステートメントです。

非バインド メソッド

Python 2 では、クラス本体内で定義された関数は非バインド メソッドに変換されます。これらは依然として関数ですが、クラスである暗黙の最初のパラメータを持っています。

バインドされたメソッド

非バインド メソッドがクラス インスタンスでアクセスされると、変換されます。バインドされたメソッドに。クラス インスタンスは、最初の self パラメータとしてメソッドに自動的に渡されます。

変換

  • 型クラスを使用して、関数をバインドされていないメソッドに変換できます。構築呼び出しまたは MethodType コンストラクター。
  • 非バインド メソッドは、クラス インスタンスでアクセスすることでバインド メソッドに変換できます。
  • バインドされたメソッドを非バインド メソッドまたはメソッドに変換して戻すことはできません。 function.

使用法

  • 関数は通常の関数と同じように呼び出されます: f1()
  • アンバウンド メソッドはインスタンスを使用して呼び出されます。最初の引数としてクラスの C.f1(instance)
  • バインドされたメソッドがクラス インスタンスで呼び出されます:instance.f1()

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!