Python基礎~lambda式~

はじめに

こんにちは。風助です。

今回はPythonのlambda式について書いていきます。

lambda式の使い方

lambda式を使うと短い無名関数を書くことができます。

f = (lambda a, b: a + b)(a, b)

この一文だけで2つの引数の和を返す関数になります。
1行で変数に代入し、数式に組み込むことができます。便利ですね。

lambda式の書き方は簡単です。

(lambda 引数1, 引数2, …: 返り値)(引数1に代入する値、引数2に代入する値、…)

たったこれだけです。
はじめの「lambda」でこれからlambda式を書くよーと宣言します。
そして引数を書きます。そして「:」の後に返り値を書きます。

便利に見えますが、lambda式は単一の式しか持てないという制約があります。
そもそもこのlambda式はどこまで行っても「式」でしかありません。
そのため簡単な関数しか書けないのです。

簡単な式しか書けなくとも、使いどころはたくさんあります。
例えば「1度しか使わない関数」が必要な時。

lambda式は「無名関数」と言われる関数を書けます。
これはその名の通り名前を持たない関数の事です。
私は関数や変数を新たに設定するとき、どんな名前を付けるかで悩みます。
下手な名前を付けると後々見返した時にどんな関数(変数)なのか分からなくなってしまうからです。
ですがはじめから名前を持たない関数なら、悩む必要はありません。

「1度しか使わない関数」をどんな時に使うかを書いていきます。

以下の組み込み関数で使われることが多いです。
・map関数
・filter関数
・sorted関数
それぞれの使い方は別の投稿で書く予定です。

これらの関数を使えばfor文やif文を少ない行数で書くことができます。
使いこなしたいですね。

おわりに

今回はlambda式について書きました。

私自身まだ勉強中なので説明不足なところもあると思います。
理解が深まったら書き直すかもしれません。

それでは次回までさようなら。

コメント

  1. […] […]

  2. […] […]

  3. Thanks for some other informative web site. The place else may just I get that kind of information written in such a perfect means? I have a venture that I’m simply now running on, and I have been on the glance out for such information.

タイトルとURLをコピーしました