Pythonの入れ子関数(別の関数内に関数を作成)

スポンサーリンク

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()で出力させることができました。

コメント

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