**kwargsとは
**kwargsは「キーワード引数」(keyword arguments)の略で、関数に任意の数のキーワード引数を渡すことができる特別な構文です。
基本的な使い方
def example_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# 使用例
example_function(name="Alice", age=30, city="Tokyo")
具体的な活用例
1. 柔軟な関数定義
def create_person(**kwargs):
person = {
"name": kwargs.get("name", "Unknown"),
"age": kwargs.get("age", 0),
"job": kwargs.get("job", "Not specified")
}
return person
# 異なる引数で呼び出し可能
person1 = create_person(name="Bob", age=25)
person2 = create_person(name="Charlie", job="Engineer")
2. 他の引数と組み合わせる
def advanced_function(required_arg, *args, **kwargs):
print(f"必須引数: {required_arg}")
print("可変長位置引数:", args)
print("キーワード引数:", kwargs)
advanced_function(10, 20, 30, extra1="value1", extra2="value2")
主な特徴
- 任意の数のキーワード引数を受け取れる
- キーワード引数は辞書として扱われる
- 関数内で柔軟な引数処理が可能
- 他の引数と組み合わせることができる
注意点
- **kwargsは関数の最後の引数として使用する
- キーワード引数は順不同で渡せる
このように、**kwargsは関数の柔軟性を大幅に向上させる強力な機能です。