Pythonでの関数の引数,パラメーターの順序について解説しています。
位置指定の引数,パラメーターとは異なり、名前(キーワード)付き引数,パラメーターはどのような順番で指定しても問題はありません。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■def文で関数を定義し引数,パラメーターの順序について確認する
では、名前付き引数,パラメーターはどのような順番で指定しても問題はないことを、実際に確認してみます。
■コード
def test(val1=0, val2=0): return val1 - val2 print(test(val1=10, val2=5)) print(test(val2=5, val1=10))
今回は、testという関数を定義します。関数の括弧内には、名前付きパラメータ,引数としてval1と、val2という2つのパラメータ,引数を設定します。この2つのパラメータ,引数は、=”イコール”(代入演算子)を用いて、「0(数値)」を代入します。
その後、関数内で実行する処理を記述します。今回は、名前付きパラメータ,引数に渡した数値を、代数演算子”-”(マイナス)を用いて、減算(引き算)し、減算(引き算)された値をreturnで返します。
最後に、この定義した関数を呼び出すために関数名を記述し、関数の括弧内に設定した名前付きパラメータ,引数を記述します。この際に、1つ目は順序どおり、2つ目は順序を逆にしてみます。そして結果をprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、定義したtestという関数を呼び出し、関数内の処理が実行され、名前付きパラメータ,引数に渡した数値が減算(引き算)されました。減算(引き算)された値を確認すると、名前付きパラメータ,引数の順序が逆であっても、同じ結果がprint()関数で出力されることを確認しました。
■位置パラメータ,引数を名前で指定することもできる
次に、位置パラメータ,引数を名前で指定することもできますので、実際に指定することができるのかやってみます。
■コード
def test(val1, val2): return val1 - val2 print(test(val1=10, val2=5)) print(test(val2=5, val1=10))
先程と同じように、testという関数を定義します。関数の括弧内には、パラメータ,引数としてval1と、val2という2つのパラメータ,引数を設定しますが、今回は、名前付きパラメータ,引数ではなく、位置指定の引数,パラメーターとなります。
そして、定義した関数を呼び出す際に、関数名と関数の括弧内でパラメータ,引数に値を渡します。このときに、名前で指定し値を渡し、結果をprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプト実行してみます。
実行してみると、定義した関数の括弧内では、名前付きパラメータ,引数ではない位置指定の引数,パラメーターを設定していましたが、関数を呼び出す際に、パラメータ,引数で名前を指定することで、同じ結果がprint()関数で出力されることを確認しました。
なお、関数を呼び出す際に、パラメータ,引数で名前を指定しないと、print()関数で出力される値は異なります。
コメント