資格スワイプ
制御構造ツール(4章)

Pythonの関数定義における *args と **kwargs の性質の違いに関する説明として、正しいものはどれか。

  • A*argsは超過したキーワード引数を辞書としてまとめ、**kwargsは超過した位置引数をタプルとしてまとめる
  • B*argsと**kwargsはどちらも辞書としてまとめられ、機能上の違いはない
  • C関数定義内では**kwargsを*argsよりも前に置かなければならない
  • ✓*argsは超過した位置引数をタプルとしてまとめ、**kwargsは超過したキーワード引数を辞書としてまとめる。定義順は*argsが**kwargsより前になる

解説

*argsは対応する仮引数のない位置引数をタプルに、**kwargsは対応する仮引数のないキーワード引数を辞書にまとめる。関数定義では*argsを**kwargsより前に記述する必要がある。

根拠Pythonチュートリアル4章 任意引数リスト

← 前の問題次の問題 →
スワイプでまとめて流す