Python エスケープシーケンスとraw文字列のサンプル

目次

エスケープシーケンスとは

文字列の中で通常の文字として表現できない特殊な文字を表すための記法です。

バックスラッシュ \ に続く文字の組み合わせで表します。

円記号(バックスラッシュ)はエスケープ文字です。
エスケープ文字+文字でエスケープシーケンスです。
バックスラッシュ(円記号)の文字コードは、shift-jisでは0x5C、UnicodeではU+005Cです。

主なエスケープシーケンスの一覧

エスケープ
シーケンス
説明
\'  シングルコーテーションを文字として表示する 'I\'m Python'
\" ダブルコーテーション を文字として表示する "She said \"Hi\""
\t タブを表示する "Name:\tAlice"
\\ バックスラッシュを表示する "C:\\Users"
\n 改行 (LF ラインフィード) "Hello\nWorld"
\r 復帰 (CR キャリッジリターン) "Hello\rWorld"
\0 Null文字 "Hello\0World"
\ooo ASCII文字を表示する
oooは3桁の8進数です
"\101" → A
\xhh ASCII文字を表示する
hhは2桁の16進数です。
"\x41" → A
\uxxxx Unicode文字を表示する
xxxxは4桁の16進数です。
"\u0041" → A

エスケープシーケンスの使用例

# 改行
print("Hello\nWorld")
# Hello
# World

# タブ
print("Name:\tAlice")
# Name:    Alice

# クォートのエスケープ
print('I\'m learning Python')
# I'm learning Python

# バックスラッシュ(Windowsのパスなど)
print("C:\\Users\\Alice")
# C:\Users\Alice

ファイルパスを楽に入力する(raw文字列)

エスケープを使いたくない場合は、文字列の前に r をつけるとRaw文字列になり、\ をそのまま文字として扱います。

p1 = r"D:\test1\test1.txt"

print (p1) # D:\test1\test1.txt

1行目は、パスの文字列の前にrをつけています。
3行目は、エスケープシーケンスの文字を機能させていません。意図した表示になっています。

文字列に改行を含める場合(エスケープシーケンス以外)

エスケープシーケンスの改行以外で改行する方法です。

# coding: utf-8

print("""あ
い
う
""")

ダブルコーテーションまたはシングルコーテーションを3つ連続で記述して文字列を括ると改行が反映されます。
実行すると以下のように文字列が改行されて表示されます。


関連の記事

Python 文字列の位置を取得する(find/index)
Python split 文字列を分割してリストにする

△上に戻る