基礎・上級問題チェック

問題 4 /40

次のコードを実行した結果として、正しいものはどれか。

print('It\'s a \n small world')

選択 1

エラーになる。

選択 2

It's a \n small world

選択 3

It's a 
 small world

選択 4

It\'s a 
 small world

解説

選択肢3が正解です。

文字列の中でシングルクォーテーションやダブルクォーテーションを文字として使う場合は、直前にバックスラッシュ「\」を付けます。

問題文の「'It\'s」場合、「\」を付けないと、文字のシングルクォーテーションなのか、文字列を囲う記号なのか区別できません。

また、「\n」は改行を意味するため、問題文の「 small world」は改行されます。

Pythonの主なエスケープシーケンスは以下となります。

エスケープシーケンス → 特別な意味
-------------------------------
\t → タブ
\n → 改行
\’ → シングルクォーテーション
\” → ダブルクォーテーション
\\ → バックスラッシュ
-------------------------------

エスケープシーケンスとは「\+文字」の組み合わせを指し、それぞれ特別な意味に変換されます。

「\’」は「’」に変換され、「\n」は改行に変換されます。

なお、「\」を「\」のまま表示したい場合は、エスケープシーケンスの「\\」だけではなく、raw文字列も使えます。

raw文字列を使って「print(r'It\'s a \n small world')」とすると、結果は「It\'s a \n small world」となります。

この場合は、「\n」がエスケープシーケンスではなく文字列として扱われます。

(公式書籍 p.12)