Pythonでの関数の引数,パラメーターの順序の複雑な場合について解説しています。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■def文で関数を定義し引数,パラメーターの複雑な順序を試す
では、def文を用いて関数を定義し引数,パラメーターの複雑な順序を試してみます。
■コード
def test(x, y, z, n1=None, n2=None): print('[%d %d %d]' % (x, y, z)) if n1: print('n1=%d' % n1) if n2: print('n2=%d' % n2) test(1, 2, 3, n2=50) test(1, 2, n1=10, z=3)
今回は、testという関数を定義します。関数の括弧内には、x,y,zという位置引数,パラメータと、n1=None, n2=NoneというNone(未定義)の引数,パラメータを設定します。
その後、関数内で実行する処理を記述します。今回は、%演算子で”d(符号付き10進整数)”を設定し、x,y,zという位置引数,パラメータに渡した数値を指定された形式(フォーマット)に変換し、print()関数を出力します。また、if文を使用し、もし、n1, n2というNone(未定義)の引数,パラメータに数値が渡された場合に、%演算子で”d(符号付き10進整数)”を設定し、n1, n2に格納された数値を指定された形式(フォーマット)に変換し、print()関数を出力します。
最後に、定義した関数を呼び出すために、関数名と関数の括弧内に、各引数,パラメータに渡す数値を記述します。渡す際に、None(未定義)の引数,パラメータと、位置引数,パラメータを名前で指定し数値を渡してみます。また、2つ目では、順序を変更してみます。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、None(未定義)の引数,パラメータと、位置引数,パラメータを名前で指定し数値を渡す、または順序を変更しても、print()関数で引数,パラメータに渡した数値が出力されることが確認できました。
コメント