Pythonでの関数の引数,パラメーターの順序

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()関数で出力される値は異なります。

コメント

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