Python エスケープ文字
1. エスケープ文字とは
文字列(Strings)の中に、そのままでは記述できない文字を挿入したい場合、エスケープ文字(Escape Characters)を使用します。
エスケープ文字は、バックスラッシュ \ の後に、挿入したい特定の文字を続けて記述する構文(Syntax)をとります。
1.1 使用例:ダブルクォートの中の引用符
たとえば、ダブルクォート(")で囲まれた文字列の中で、さらにダブルクォートを使用しようとすると、Pythonのインタープリタは構文エラー(Syntax Error)を発生させます。
エラーになる例:
# 引用符が重複するためエラーになります
txt = "We are the so-called "Vikings" from the north."この問題を解決するために、エスケープ文字 \" を使用します。これにより、ダブルクォートを通常の文字として扱うことができます。
修正後の例:
txt = "We are the so-called \"Vikings\" from the north."
print(txt)2. エスケープシーケンス一覧
Pythonでサポートされている主要なエスケープシーケンス(Escape Sequences)は以下の通りです。
| コード | 説明 |
|---|---|
\' | シングルクォート (Single Quote) |
\\ | バックスラッシュ (Backslash) |
\n | 改行 (New Line) |
\r | キャリッジリターン (Carriage Return) |
\t | タブ (Tab) |
\b | バックスペース (Backspace) |
\f | フォームフィード (Form Feed) |
\ooo | 8進数値 (Octal value) |
\xhh | 16進数値 (Hex value) |
3. 実装コード例
各エスケープシーケンスの具体的な挙動を確認してみましょう。
3.1 制御文字の利用(改行・タブ)
# \n による改行
txt = "Hello\nWorld!"
print(txt)
# \t による水平タブ
txt = "Name:\tJohn"
print(txt)3.2 8進数と16進数による表現
文字列内に特定の文字コードを埋め込むことも可能です。
# 8進数を使用した例
# "\110\145\154\154\157" は "Hello" と表示されます
txt = "\110\145\154\154\157"
print(txt)
# 16進数を使用した例
# "\x48\x65\x6c\x6c\x6f" は "Hello" と表示されます
txt = "\x48\x65\x6c\x6c\x6f"
print(txt)エスケープシーケンスを正しく理解することは、ファイルパスの操作や正規表現、複雑なテキストデータのパースを行う際に非常に重要です。次は、Pythonに組み込まれている便利な文字列メソッド(String Methods)の一覧を見ていきましょう。