Pythonでlambda(無名関数)を使う方法【初心者向け】

初心者向けにPythonでlambda(無名関数)を使う方法について解説しています。無名の関数を定義して、様々なところで使用することができます。書き方を説明し、簡単なサンプルプログラムを書いているので、実際に書きながら理解していきましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

今回は、Pythonでlambda(無名関数)を使う方法を解説します。

無名の関数を定義することで、様々なところで使用することができます。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

Pythonのlambdaとは

lambda関数は無名関数と呼ばれ、無名の小さな関数を定義することができます。

無名の関数を定義して使用するメリットとしては、自分で作った関数をプログラムの色んな所で自由に利用できます。

また、通常の関数のように別のところで宣言せずとも、1回しか使用しないような処理を気軽に関数化することができます。

 

Pythonでlambdaを使う方法の書き方

文法

lambda (引数): (処理コード)

 

解説

lambdaでlambda関数を宣言して、(引数)でlambda関数に必要な引数を設定します。

引数とは、関数を使用する際外部から持ってくる値です。

例えば、1+2を行いたい場合の引数は1と2が代入されている変数が入ります。

変数には、予約語と呼ばれる指定できない単語と最初は数字が指定できないという決まりを守れば、アルファベットと数字と_(アンダースコア)の組み合わせで決めることができます。

:で、lambda関数の条件指定部分が終了していることを意味します。

(処理コード)部分では、実際の計算などを記載します。

1+2の内容であれば、足し算の処理を記載します。

仮に引数となる変数がaとbだったとしたら、a+bを記載します。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

Pythonでlambda関数を使うコードを実際に書いてみよう

lambda関数を使用するソースコード

goukei = lambda num1, num2 :num1 + num2
print('計算結果:', goukei(1, 2))

 

表示結果

('計算結果:', 3)

 

解説

1行目のgoukei = lambda num1, num2 :num1 + num2では、goukeiに=の右側のlambdaの内容を代入しています。

lambda num1, num2 :num1 + num2の部分では、Pythonでlambdaを使う方法の書き方の解説通り、num1とnum2に引数を指定しています。

:で区切られたnum1+num2では、足し算の処理を記載しています。

2行目のprint(‘計算結果:’, goukei(1, 2))では、print文を利用して表示しています。Pythonでprintを使う方法の記事も合わせてご覧ください。

goukei(1,2)では、無名関数の呼び出しとgoukeiに代入された計算結果の表示を行っています。

 

今回は、Pythonでlambdaを使う方法を解説しました。

入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。

 

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。

 

小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。

 

また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。

独学に限界を感じている方はぜひご覧ください。