Pythonでの関数の引数,パラメーターの順序(複雑な場合)

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()関数で引数,パラメータに渡した数値が出力されることが確認できました。

コメント

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