制御構造ツール(4章)
次のコードを実行したとき、resultの値はどれか。 def greet(name, greeting="Hello"): return f"{greeting}, {name}!" args = ("Alice",) kwargs = {"greeting": "Hi"} result = greet(*args, **kwargs)
- AHello, Alice!
- ✓Hi, Alice!
- Cエラーになる
- DAlice, Hi!
解説
*argsによってタプルの要素がname位置引数として展開され、**kwargsによって辞書のキーと値がキーワード引数greetingとして展開されるため、greeting="Hi"、name="Alice"となり"Hi, Alice!"が返る。
根拠Pythonチュートリアル4章 制御構造ツール(引数リストのアンパック)