制御構造ツール(4章)
次のコードを実行するとどうなるか。 def func(a, b, c): return a + b + c func(1, a=2, c=3)
- A正常に実行され6が返る
- BSyntaxErrorが発生する
- C正常に実行され値は1+2+3=6ではなく別の値になる
- ✓aに複数の値が指定されたというTypeErrorが発生する
解説
位置引数として渡された1がaに割り当てられるが、同時にキーワード引数a=2でも同じaに値が渡されているため、同じ引数に複数の値が指定されたとしてTypeErrorが発生する。
根拠Pythonチュートリアル4章 制御構造ツール(キーワード引数)