Pythonの入れ子関数について解説しています。
入れ子関数とは、別の関数内に関数を作成すること。別の関数内に関数であるので、この関数の内部にあるものを「内部関数(inner function)」、「ネストされた関数(nested functions)」とも呼ばれる。nestedは「入れ子になった」という意味。そして外側を囲んでいる関数は「外部関数」と呼ばれる。
■Python
今回は、Google Colaboratoryを用います。Google ColaboratoryのPythonのバージョンは、公開時点では「3.7.13」となっています。
■基本的な入れ子関数を作成する
では、実際に基本的な入れ子関数を作成してみます。
■コード
def math(): def addition(num): return num + 100 print(addition(10)) math()
今回はまず外側を囲う関数を定義しますので、def文を用いてmath()という関数を定義します。この関数が呼び出された時に実行される処理として、今度は内部の関数であるaddition()関数を定義します。この関数が呼び出された時に実行される処理としては、returnとして括弧内の引数l,パラメータとして渡したnumという値に算術演算子”+(加算)”を用いて「100」という値を加算するというものです。さらにaddition()関数の処理として、addition()関数を呼び出し、引数,パラメータとして今回は「10」という値を渡し、処理された結果をprint()関数で出力させるというものです。
最後に外側を囲う関数を呼び出すために「math()」と記述します。
■実行・検証
このセルを保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、まず外側を囲う関数が呼び出され、その後に内部関数が呼び出されて処理が行われ、最終的に内部関数の処理結果をprint()で出力させることができました。
コメント