*args のあとの引数
次のコードを実行したときの出力として、正しいものを1つ選べ。
def concat(*args, sep="/"):
return sep.join(args)
print(concat("earth", "mars", "venus"))
- A
earth mars venus - B
('earth', 'mars', 'venus') - C
earth/mars/venus - D
TypeErrorが発生する。
正解と解説を見る
正解:C
*args のあとに書いた引数は、キーワード専用の引数になる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `def concat(*args, sep="/"):` | — |
| 2 | `print(concat("earth", "mars", "venus"))` | — |
| 3 | └ `return sep.join(args)` | sep = '/', args = ('earth', 'mars', 'venus') |
| 結果 | 実際の出力 | earth/mars/venus |
- A
誤り。区切りには sep の値が使われる。
- B
誤り。join で1つの文字列にしている。
- C
正しい。
*argsのあとに書いた引数 sep はキーワード専用の引数になり、ここでは既定値 "/" で連結される。 - D
誤り。sep には既定値があるので、渡さなくてもよい。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。