本記事ではPython の関数について徹底解説していきます。関数についての大雑把な解説は以下の記事を参考にしてください。
関数の処理
関数には2つの処理パターンが存在します。
- 処理だけを行う関数
- 変数を受け取って処理を行う関数
また、関数の処理結果を変数として渡すことができます。この関数の実行後に出てくる変数のことを「戻り値」と呼びます。
処理だけを行う関数
関数処理だけを行いたい場合は、以下のように記述します。
def 関数名():
処理1
処理2
・
・
・
戻り値を実行する処理
関数で戻り値を実行する処理は以下のように記述します。
def 関数名():
処理1
処理2
・
・
・
return 変数
今回は処理だけを行う関数で戻り値を変更しましたが、変数を受け取って処理を行う関数でも戻り値を返すことはできます。
変数を受け取って処理を行う関数
変数を受け取って処理を行う関数は以下のように記述します。
def 関数名(変数1, 変数2, ・・・):
処理1
処理2
・
・
・
# return 変数
関数が持つ変数1, 変数2, ・・・といった値のことを「パラメーター」と言います。また作った関数に変数を入れる値を「引数」と呼びます。
実際のコード例を用いて説明します。
def sum_func(a, b):
num = a + b
return num
num_1 = 1
num_2 = 2
sum_func(num_1, num_2)
「パラメータ」と「引数」の違いは以下の通りになります。
パラメータ名を指定して引数を設定する
関数で設定するパラメータは、代入した順番で実行されます。「変数を受け取って処理を行う関数」で設定した「sum_func」でパラメーターで説明すると、num_1 が a、 num_2 が b 引数として処理されます。しかし、パラメータが多くなった時、入力する順番を間違うことがあります。これを防ぐために「キーワード引数」というものがあります。具体的にはパラメータ名を指定して引数を設定します。
キーワード引数の設定例は以下の通りです。
sum_func(a=num_1, b=num_2)
Jupyter Notebook でコードを実行すると、全く同じ結果が得られます。
関数のパラメーターに初期値を代入する
関数を書いていると、パラメータを固定しておきたい、といった状況があります。このような時、パラメーターを固定し、引数を入力しないことで、固定値をパラメーターとして使用する方法があります。この固定する値のことを「デフォルトパラメーター」と呼びます。
デフォルトパラメーターのコードは以下のように書きます。
def 関数名(変数名1, 変数名2、・・・, パラメータ1=値, パラメータ2=値, ・・・):
# 変数名を設定後に、デフォルトパラメータを設定します。
処理1
処理2
・
・
・
Jupyter Notebook を使用して、実行してみます。以下のコードを記述します。
def tax_calculator(a, b, tax=1.08):
num = a + b
money = num * tax
return money
num_1 = 100
num_2 = 200
tax_calculator(num_1, num_2)
# デフォルトパラメータを変更することもできます。
tax_calculator(num_1, num_2, tax=1.1)
計算結果は以下のようになります。
最後に
Python にはリスト型、辞書型と言われる強力なオブジェクトがあります。これが理解できると、関数のパラメーターを固定せずに設定することができます。後日解説します。
本記事は以上です。ありがとうございました。