Pythonの関数における「デフォルト引数」「キーワード引数」「可変長引数」は、柔軟な関数の定義と呼び出しを可能にする重要な仕組みです。以下、それぞれについて詳しく説明します。
1. デフォルト引数(Default Arguments)
定義時にあらかじめ値を設定しておく引数のことです。関数を呼び出す際に引数が渡されなければ、デフォルト値が使用されます。
例
呼び出し例
特徴
-
デフォルト引数は通常の引数の後ろに書く必要があります。
-
def func(a, b=2, c=3)はOKですが、def func(a=1, b)はエラーになります。
2. キーワード引数(Keyword Arguments)
関数の呼び出し時に「引数名=値」の形で渡す方法です。引数の順序を無視でき、読みやすさや柔軟性が向上します。
例
呼び出し例
特徴
-
順番を気にせず引数を指定できる。
-
位置引数の後にキーワード引数を書く必要がある。
3. 可変長引数(Variable-length Arguments)
引数の数が決まっていない場合に使用します。2つの形式があります。
(1) *args:位置引数の可変長
*args:位置引数の可変長複数の引数をタプルとして受け取ることができます。
(2) **kwargs:キーワード引数の可変長
**kwargs:キーワード引数の可変長複数のキーワード引数を辞書として受け取ることができます。
まとめ
| 種類 | 定義例 | 呼び出し例 | 特徴 |
|---|---|---|---|
| デフォルト引数 | def func(x, y=10) |
func(5) |
引数が渡されなければデフォルト値を使用 |
| キーワード引数 | func(x=1, y=2) |
func(y=2, x=1) |
順序を無視できる |
| 可変長引数 | def func(*args, **kwargs) |
func(1, 2, a=3, b=4) |
任意の数の引数に対応できる |
生成日:2025/05/03