基礎・上級問題チェック
問題 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)