はじめに
こんにちは。風助です。
今回は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式について書きました。
私自身まだ勉強中なので説明不足なところもあると思います。
理解が深まったら書き直すかもしれません。
それでは次回までさようなら。
コメント
[…] […]
[…] […]
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.