Python 入門コース / 第4章 関数(第25〜32回) / レッスン 27

可変長引数(*args・**kwargs)

*args と **kwargs

*args余った位置引数をタプルで**kwargs余ったキーワード引数を辞書で受け取ります。名前は慣習で、*** の数だけが意味を持ちます。

editor.py

渡す側でのアンパック

受け取るだけでなく、渡すときに展開するのにも同じ記号を使います。リストを *、辞書を ** で展開して引数に配れます。

editor.py

引数の並び順は「通常 → *args → キーワード専用 → **kwargs」と決まっています。print("A", "B", sep="-") が何個でも値を取れるのは、まさに *args**kwargs の仕組みです。

✅ 理解度チェック

**kwargs で受け取った引数の型は?