目次
・エスケープを使いたくない場合
エスケープシーケンスとは
文字列の中で通常の文字として表現できない特殊な文字を表すための記法です。
バックスラッシュ \ に続く文字の組み合わせで表します。
円記号(バックスラッシュ)はエスケープ文字です。
エスケープ文字+文字でエスケープシーケンスです。
バックスラッシュ(円記号)の文字コードは、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つ連続で記述して文字列を括ると改行が反映されます。
実行すると以下のように文字列が改行されて表示されます。
あ
い
う
関連の記事
