Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのラムダバインディングとは何ですか?


プログラムまたは関数ステートメントが実行されると、仮パラメーターの現在の値が(スタックに)保存され、ステートメントのスコープ内で、呼び出しで行われた実際の引数の値にバインドされます。ステートメントが終了すると、これらの仮引数の元の値が復元されます。このプロトコルは完全に再帰的です。ステートメントの本文内で、正式なパラメーターが新しい値に再度バインドされるようにする何かが行われた場合、ラムダバインドスキームは、これがすべて整然と行われることを保証します。

xのバインディングは1つだけです。x=5を実行すると、既存のバインディングの値が変更されるだけです。そのため、デフォルトのパラメーターは、ラムダのパラメーターに直接値を割り当てるために使用されていました。

def function(x):
   a = lambda x=x: x
   x = 5
   b = lambda: x
   return a,b
aa, bb = function(2)
aa()
bb()

出力

5

Pythonでは、ラムダ関数と呼ばれる機能を使用して、無名関数、つまり名前のない関数を作成できます。 ラムダ関数は、通常1行以内の小さな関数です。式の結果は、ラムダが引数に適用されたときの値です。


  1. C#のアーリーバインディングとは何ですか?

    コンパイル時に関数をオブジェクトにリンクするメカニズムは、アーリーバインディングと呼ばれます。静的バインディングとも呼ばれます。 C#は、静的ポリモーフィズムを実装するための2つの手法、つまり関数のオーバーロードと演算子のオーバーロードを提供します。 例を使って関数のオーバーロードについて学びましょう- 同じスコープ内の同じ関数名に対して複数の定義を持つことができます。関数の定義は、引数リスト内の引数のタイプや数によって互いに異なる必要があります。戻り値のタイプのみが異なる関数宣言をオーバーロードすることはできません。 以下は完全な例です- 例 using System; namesp

  2. PythonTkinterのバインディング関数

    Pythonでは、tkinterはさまざまなGUIプログラミングに使用できるGUIライブラリです。このようなアプリケーションは、デスクトップアプリケーションを構築するのに役立ちます。この記事では、バインディング関数と呼ばれるGUIプログラミングの1つの側面について説明します。これは、イベントが発生したときに特定の関数が実行されるように、イベントを関数とメソッドにバインドすることです。 キーボードイベントのバインド 以下の例では、キーボードからの任意のキーの押下を、実行される関数にバインドします。 Tkinter GUIウィンドウが開いたら、キーボードの任意のキーを押すことができ、キーボードが