同じ引数に2回値を渡す
次のコードを実行したときの結果として、正しいものを1つ選べ。
def function(a):
pass
function(0, a=0)
- A
エラーにならず、a は0になる。
- B
SyntaxErrorが発生する。 - C
NameErrorが発生する。 - D
TypeErrorが発生する。
正解と解説を見る
正解:D
同じ引数に、位置引数とキーワード引数の両方で値を渡すと TypeError になる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `def function(a):` | — |
| 2 | `function(0, a=0)` | — |
| 結果 | 出力と例外 | 例外 TypeError: function() got multiple values for argument 'a' |
- A
誤り。同じ引数に2回値を渡すとエラーになる。
- B
誤り。文法としては正しく、実行したときにエラーになる。
- C
誤り。名前が定義されていないわけではない。
- D
正しい。位置引数とキーワード引数で、同じ引数 a に2回値を渡しているため、TypeError(multiple values for argument)になる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。