この章では関数について説明します。
関数とは引数と言うデータを受け取って、ある一定の処理を行い、戻り値を呼び出し元に返す命令のことを言います。
引数とは関数を実行するときに関数で使われるバラメータ(データ)のことを言います。
戻り値とは、関数を実行した結果、返される値です。
この章以前のint関数のような関数は組み込み関数と言いまして、Pythonによって初めから用意されている関数です。
例えばint関数は文字列を数値に変換する関数ですが、Pythonの内部機構でそのような働きを作ってくれています。
その他に自分で好き勝手に「ある働きを持った関数」を作ることができます。
これをユーザー定義関数と言います。
例えば消費税を自動で計算する関数を自分で作りたいとします。
その場合、商品の代金を関数に渡すと商品金額に消費税率を掛けた処理をして、その結果を返すという機能を持った関数を作ります。
関数の基本構文は以下の通りですが、このように関数の中に実行内容を書いていくことを「関数の定義」と言います。
〇関数は関数の定義を書いただけでは実行しません。
そこで関数を実行するためには関数を呼び出さなくてはいけません。
関数の呼び出しは
引数が必要無い関数であるならば引数は省略出来ます。
引数を省略する場合もカッコを付けて
では実際に関数の例を見てみましょう。
関数を呼び出すには関数名と同じ名前を付けて呼び出します。
上の例で言えば
呼び出すことによって関数の中身が実行されます。
では順を追って詳しく説明します。
この呼び出し側の引数は実引数と呼ばれています。
つまりnum1とe, num2とf, num3とgが 同じ変数名である必要はありません。
また、この関数内部の変数e,f,g,h,iのことをローカル変数と言いますが、このローカル変数は関数内部でしか使用することはできません。
ローカル変数を関数の外で使用するとエラーになります。
次の例をみてみましょう。
しかし、初期値は初期値を持たない引数よりも前で
設定してはいけません。
つまり、
また、初期値にg=46が設定してあるために、以下のように第三引数を省略して呼び出すことが出来ます。
次の例をみてみましょう。
この例では
結果は以下の通りです。
次は戻り値のある関数についての説明をします。
戻り値についてはこの章の冒頭で説明しましたが、関数を実行した結果、返される値のことです。
戻り値を返すためには関数の定義の中に
では例をみてみましょう。
つまり
この戻り値を利用するには例のように変数(この例ではnum4)に戻り値を代入して使用するか、もしくは
次は引数の無い関数について説明します。
ただ関数の中で処理されて、呼び出し元に値を返しているだけです。
このような関数も作成できることを覚えておいてください。
次は関数の引数にはリストも指定することができますので、次の例で説明します。
以下のように書いても同じ意味になります。
この例の場合はkです。
そのkの要素をfor文で一つ一つ取り出して計算しています。
結果は次の通りです。
次の例もリストの要素を関数に渡すのですが、前の例はリストそのものを渡していましたが、今回はリストを分解してから関数側に要素を渡しています。
結果は次の通りです。
次は実引数が複数ある場合、仮引数もその数だけ書くのは大変ですが、この例で便利な方法を紹介します。
そこで、この仮引数を
結果は108です。
次は関数の引数にはディクショナリも指定することができますので、次の例で説明します。
その後、関数側でも引数を設定します。この例の場合はaです。
そのaの要素をfor文で一つ一つ取り出して計算します。
for文ではディクショナリの値だけを使いたいので、keysメソッドでキーを取得して、その後に
結果は33です。