**kwargsとは
*argsが「順番だけの任意個数の引数」をまとめるのに対し、**kwargsはキー=値という名前付きの引数を、任意の個数だけ辞書としてまとめて受け取ります。ユーザー情報のように「どんな項目が来るかその都度違う」ようなデータを柔軟に受け取りたいときに便利です。
*argsが「順番だけの任意個数の引数」をまとめるのに対し、**kwargsはキー=値という名前付きの引数を、任意の個数だけ辞書としてまとめて受け取ります。ユーザー情報のように「どんな項目が来るかその都度違う」ようなデータを柔軟に受け取りたいときに便利です。
def profile(**kwargs):
for key, value in kwargs.items():
print(f'{key}: {value}')
profile(name='田中', age=25)練習問題:**kwargsを使い、渡されたキーワード引数の数をlen()で表示する関数count_args(**kwargs)を定義してください。
def count_args(**kwargs):
print(len(kwargs))
count_args(a=1, b=2, c=3)