Python 速習チュートリアル

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)
\ooo8進数値 (Octal value)
\xhh16進数値 (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)の一覧を見ていきましょう。