関数 中級

42. キーワード引数(**kwargs)

**kwargsとは

*argsが「順番だけの任意個数の引数」をまとめるのに対し、**kwargsキー=値という名前付きの引数を、任意の個数だけ辞書としてまとめて受け取ります。ユーザー情報のように「どんな項目が来るかその都度違う」ようなデータを柔軟に受け取りたいときに便利です。

サンプルコード

def profile(**kwargs):
    for key, value in kwargs.items():
        print(f'{key}: {value}')

profile(name='田中', age=25)
profile関数は、name='田中', age=25というキーワード引数を{'name': '田中', 'age': 25}という辞書として受け取ります。あとはitems()とfor文を使って、中身を1組ずつ表示しています。

📝 練習問題

練習問題:**kwargsを使い、渡されたキーワード引数の数をlen()で表示する関数count_args(**kwargs)を定義してください。