Pythonでdef文を使用し関数を定義し複数の引数を渡す(アスタリスク”*”使用)

Pythonでdef文を使用し関数を定義し複数の引数を渡してみます。

今回はアスタリスク”*”を2つ使用します。アスタリスク”*”を2つ使用することで、可変長の引数を取る関数を作成することができます。

■Python

Google Colaboratory(Google Colab),Python3.7.10

■def文を使用し関数を定義し複数の引数を渡す

では、早速、def文を使用し関数を定義し複数の引数を渡してみます。

■コード

def example(x, y, z, **options):
    if options.get("total") == "sum":
        print("合計: %d" %(x + y + z))
    if options.get("num") == "value":
        return z
result = example(1, 5, 10, total = "sum", num = "value")
print("結果: %d" %(result))

今回は、def文を使用し、exampleという関数を定義します。関数の括弧内には、引数,パラメータとして、x,y,zというキーワードと、optionsというキーワードを使用します。optionsには、アスタリスク”*”を2つ使用し、可変長の引数とします。

次に、関数内で実行する処理を記述します。if文を使用し、可変長の引数として渡した数値を、options.get(“total”)で、totalという引数,パラメータを設定されているので、x,y,zの値を合計されます。また、”==”(比較演算子)を使用し、「sum」と等しいとします。そして、returnでx,y,zの値を、”+”代数演算子で加算(足し算)を行い合計し、print()関数で出力されるようにします。

さらにif文を使用し、可変長の引数として渡した値を、options.get(“num”)で、x,y,zのそれぞれに渡した値がnumという引数,パラメータに渡されます。そして、”==”(比較演算子)を使用し「value」と等しいとし、今回はreturnで「z」としていますので、z引数,パラメータとして渡した数値が返されます。

関数を定義した後は、resultという変数を定義し、その中でexampleという関数を呼び出します。その際に関数の括弧内には、x,y,zと可変長の引数,パラメータであるoptionsに渡す数値と、「total = “sum”, num = “value”」で、実行される処理(合計とzの出力)を記述します。

最後に、result変数に格納した情報をprint()関数で出力します。

■実行・検証

スクリプトを作成後、このスクリプトを実行してみます。

実行してみると、定義したexampleという関数内の処理が実行し、引数として渡した数値が、合計された数値と、zの数値が出力されることが確認できました。

コメント

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