まず、関数が変数に代入します
関数は、オブジェクトは、関数を変数に代入されたとき、あなたは変数を介して関数を呼び出すことができ、変数に割り当てることができます。
例:
試験DEF(X、Y): X * Yリターン 変数に割り当て位関数 A =テスト プリント(A) <0x00000000030187B8 ATテスト機能>#プリント 関数を呼び出すことによって#変数 印刷((2,3)) 6位プリント #戻り値はB機能に割り当てられている Bテスト=(4,5) プリント(B) #20を印刷
上記の例では、我々は、(4,5)、A、この点試験で呼び出された関数に属するA =テスト可変点(2,3)=試験=試験の間の差を確認することができ、完全に可変(2,3)を呼び出し等、受信した可変テストに属する=テスト(4,5)、(4,5)の戻り値、もしテスト(4,5)、その後、ノーリターン値、A =なし、および=試験(4を行い、 5)プロセス、テスト(4,5)は、一度に行われます。
機能として第二に、関数パラメータ
簡単なコードを見てください:
DEF試験(X、Y) = X + Y リターン2 * A
製造プロセスは、この時点で頻繁に分離ロジックを変更することができ、頻繁にコードの変更、上記X + Yので、我々は、関数パラメータの関数として、この時間を使用する必要がある場合。
例:
DEF減算(X、Y): 戻りX - Y DEF添加(X、Y): リターンX + Y DEFダブル(N): リターン2 * N- #以下のコードが使用される減算()と加算()関数は値としてを返しますダブル()パラメータ動的にコードを変更する 後和#2を乗算することにより プリント(二重(また(2,3))) #10印刷 減算後の#2を乗じて プリント(二重(減算(6,2 ))) #印刷8
第三に、戻り値として関数を使用します
Pythonは他の関数への関数の戻り値として使用されます。
例:
NUM DEF(FN): DEF減算(X、Y): 戻りXは、 - Y DEF添加(X、Y): リターンX + Yの 値に基づいて、#1 FNパラメータは、ローカル関数に戻さ IF FN == '減算': リターン減算 他: 加算戻る NUM()関数を呼び出すときに、関数が入れ子に返す#を = NUM(「減算」) #また、印刷を書く(NUM(「減算」)(5,1)) を印刷(( 5,2)) #印刷。3 B = NUM( '追加') プリント(B(2,4)) #6を印刷
機能は、ローカルの機能の関数を返す上記のコード、定義NUM()関数は、NUM()関数は、減算()と加算()2つのローカル関数、NUM()の伝達関数を定義しますパラメータは、内部戻り値として二つの部分の機能のいずれかを選択しました。
四、ラムダ式
コードをより簡潔にすることができ、ラムダ式を使用して、ラムダ式が呼び出され、プログラムに渡すことができます。
ラムダ式の構文は次のとおりです。
ラムダ[パラメータリスト]:式
第3ドットコードは、ラムダ式は、例えば、ローカル機能を簡素化するために使用することができます。
#オリジナルコード DEF NUM(FN): DEF減算(X、Y): リターンX - Y DEF加算(X、Y): X + Y戻る :IFのFn == '減算' リターン減算を 、他: 加算返す #の簡素化をコードの後 :DEF NUM(FN) のFn == '減算'の場合: - :ラムダX、Yを返すY X :他に 、YをラムダXを返す:X + Yの 印刷(NUM( '減算')(5,2) ) #印刷3 印刷(NUM( "ABC")(5,2)) #プリント7
キーワードラムダ、ラムダ式を使用して、上記の単純化されたコードは、であり、ここで注意することは、単一のラインラムダ式式とすることができる、と定義するラムダキーワードを使用する必要があり、定義されています。ラムダ式は、使用後すぐにリリースされ、パフォーマンスが向上します。