Python 可変長パラメータを使った自作関数の作り方 (*args , **kwargs)

Pythonで自作関数を作る際に、可変長パラメータを使うことで引数の数に制限を受けずに柔軟な関数を作ることができます。

本記事では、可変長パラメータを利用した自作関数の作り方について解説します。

可変長パラメータを使うことで、どのような関数が作れますか?

可変長パラメータを使うことで、引数の数が可変的な関数を作ることができます。例えば、引数の数が決まっていない場合や、複数の引数を受け取りたい場合などに活用することができます。

目次

可変長パラメータとは

可変長パラメータとは、引数の数が可変的である関数を定義するために使用される機能のことです。

Pythonでは、可変長引数を宣言することで、関数を呼び出すときに引数の数を自由に設定することができます。

可変長引数には、以下の2つの種類があります。

*args

  • アスタリスク(*)を引数の前につけることで、可変長の位置引数を受け取ることができます。
  • 受け取った引数は、タプルとして扱われます。

**kwargs

  • 2つのアスタリスク(**)を引数の前につけることで、可変長のキーワード引数を受け取ることができます。
  • 受け取った引数は、辞書として扱われます。

可変長パラメータを使うことで、関数を柔軟に作ることができます。

例えば、引数の数が決まっていない場合や、複数の引数を受け取りたい場合などに活用することができます。

可変長パラメータを使った自作関数の作り方

可変長パラメータを使った自作関数を作る方法を解説します。

可変長引数を使った関数の定義方法

まず、可変長引数を使った関数の定義方法は、以下のようになります。

def func_name(*args, **kwargs):
    # 関数の処理

上記の定義では、関数名の後ろにアスタリスク(*)をつけた引数*argsと、2つのアスタリスク(**)をつけた引数**kwargsを定義しています。このように定義することで、引数の数を可変的にすることができます。

可変長引数を使った関数の定義方法

次に、可変長引数を使った関数の定義方法は、以下のようになります。

func_name(arg1, arg2, arg3, ..., kwarg1=value1, kwarg2=value2, ...)

可変長引数を受け取る関数を呼び出す際には、位置引数とキーワード引数の組み合わせで引数を渡すことができます。位置引数は*argsに、キーワード引数は**kwargsに渡されます。

以下は、可変長引数を使った自作関数の例です。

def print_args(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_args(1, 2, 3, a=4, b=5)

上記の例では、print_args()関数が可変長引数を受け取り、引数を順番に表示しています。呼び出し側では、位置引数として1, 2, 3を渡し、キーワード引数としてa=4, b=5を渡しています。実行結果は以下のようになります。

1
2
3
a: 4
b: 5

以上が、可変長引数を使った自作関数の作り方です。

サンプルプログラムを使った解説

以下のプログラムは、可変長引数を使った自作関数sum_args()を定義しています。この関数は、任意の数の引数を受け取り、それらの引数の合計値を返す関数です。

def sum_args(*args):
    return sum(args)

result = sum_args(1, 2, 3, 4, 5)
print(result)

上記のプログラムでは、sum_args()関数に引数1, 2, 3, 4, 5を渡しています。この引数は可変長引数として定義されているため、どのような数の引数でも渡すことができます。sum()関数を使って、渡された引数の合計値を求め、result変数に代入しています。最後に、合計値を表示しています。

実行結果は以下のようになります。

15

このように、可変長引数を使った自作関数を定義することで、引数の数に制限を受けずに柔軟な関数を作ることができます。また、可変長引数を使うことで、関数の呼び出し側もスッキリとしたコードを書くことができます。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

可変長パラメータを利用した自作関数の作り方について解説しました。

  • 可変長パラメータを使うことで、引数の数が可変的な関数を定義することができる。
  • 可変長引数には、位置引数を受け取る*argsと、キーワード引数を受け取る**kwargsがある。
  • 可変長引数を使った関数の定義方法は、def 関数名(*args, **kwargs):のようにアスタリスク(*)を使う。
  • 可変長引数を使った関数の呼び出し方法は、位置引数とキーワード引数の組み合わせで引数を渡すことができる。

可変長パラメータを使うことで、柔軟性の高い関数を作ることができるのは便利ですね。引数の数に制限を受けずに関数を作れるので、実際の開発でも活用したいです。

Pythonの可変長パラメータは、引数の数が決まっていない場合や、複数の引数を受け取りたい場合などに非常に便利です。しかし、過剰に使いすぎると可読性が悪くなる場合があるため、使い方には注意が必要です。適切に使い分けることで、コードの保守性を高めることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次