Pythonのエスケープシーケンスのサンプルです。
目次
文字 | エスケープシーケンス |
ファイルパスを楽に入力する(raw文字列) | |
文字列に改行を含める場合 |
エスケープシーケンス
\文字 |
- エスケープシーケンスは、指定した文字に特殊な意味を持たせます。
- 特殊な意味を持たせたい文字の前に円記号(バックスラッシュ)を付けます。
- バックスラッシュ(円記号)の文字コードは、shift-jisでは0x5C、UnicodeではU+005Cです。
- 以下は、公式のPythonの2.4.1. 文字列およびバイト列リテラルのリンクです。
https://docs.python.org/ja/3.6/reference/lexical_analysis.html#string-and-bytes-literals
エスケープシーケンスの一覧です。
文字 | 説明 |
---|---|
\' | シングルコーテーションを文字として表示する |
\" | ダブルコーテーション を文字として表示する |
\t | タブを表示する |
\\ | バックスラッシュを表示する |
\n | 改行 (LF)する |
\r | 復帰 (CR) |
\0 | Null文字 |
\f | 改ページ |
\ooo | ASCII文字を表示する oooは3桁の8進数です。\101はAと表示されます。 |
\xhh | ASCII文字を表示する hhは2桁の16進数です。\x41はAと表示されます。 |
\uxxxx | Unicode文字を表示する xxxxは4桁の16進数です。\u0041はAと表示されます。 |
エスケープシーケンスのサンプルです。
# coding: utf-8
# シングルコーテーションを表示
print ('あいう\'えお') #あいう'えお
print ("あいう'えお") #あいう'えお
# ダブルコーテーションを表示
print ("あいう\"えお") #あいう"えお
print ('あいう"えお') #あいう"えお
# タブを表示
print ("あいう\tえお") #あいう えお
# バックスラッシュを表示
print ("あいう\\えお") #あいう\えお
# 改行を行う
print ("あいう\nえお") #「う」の後に改行が入る
# Null文字を表示
print ("あいう\0えお") #あいう えお
# 円記号(バックスラッシュ)と8進数3桁を指定
print ("\101") #A
print ("\101\102") #AB
# 円記号(バックスラッシュ)とxと16進数2桁を指定
print ("\x41") #A
print ("\x41\x42") #AB
# 円記号(バックスラッシュ)とuと16進数4桁を指定
print ("\u0041") #A
print ("\u0041\u0042") #AB
4行目はシングルコーテーションを、8行目はダブルコーテーションをエスケープしています。
文字列の開始と終了の機能ではなく、文字として表示しています。
5,9行目はエスケープシーケンスを使わない例です。
5行目は、ダブルコーテーションで括った中にシングルコーテーションがあります。
9行目は、シングルコーテーションで括った中にダブルコーテーションがあります。
ファイルパスを楽に入力する(raw文字列)
ファイルパスを楽に入力するサンプルです。
raw文字列と呼ばれます。
# coding: utf-8
p1 = r"D:\test1\test1.txt"
print (p1) # D:\test1\test1.txt
3行目は、パスの文字列の前にrをつけています。
5行目は、エスケープシーケンスの文字を機能させていません。意図した表示になっています。
raw文字列を使用しない場合
raw文字列を使用しない場合です。
# coding: utf-8
p3 = "D:\test1\test1.txt"
print (p3) # D: est1 est1.txt
3行目は、パスを設定しようとしています。
5行目は、3行目の\がエスケープシーケンスの文字として機能してしまい意図した表示になっていません。
エスケープシーケンスを使用する場合
エスケープシーケンスを使用する場合です。
# coding: utf-8
p2 = "D:\\test1\\test1.txt"
print (p2) # D:\test1\test1.txt
3行目は、エスケープシーケンスを使用するため\を2つ並べています。
5行目は、意図した表示になっています。
文字列に改行を含める場合
文字列に改行を含める場合のサンプルです。
# coding: utf-8
print("""あ
い
う
""")
ダブルコーテーションまたはシングルコーテーションを3つ連続で記述して文字列を括ると改行が反映されます。
実行すると以下のように文字列が改行されて表示されます。
あ
い
う
関連の記事
Python 文字列の始め/終わりを確認(startswith/endswith)
Python 文字列の位置を取得する(find/index)
Python split 文字列を分割してリストにする
Python 大文字と小文字を変換する(upper/lower)
Python 文字列の先頭と末尾を削除(strip/lstrip/rstrip)