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

Pythonのエスケープシーケンスのサンプルです。

目次

サンプル エスケープシーケンスとは
  よく使うエスケープシーケンスの一覧
  エスケープシーケンスのサンプル
  ファイルパスを楽に入力する(raw文字列)
  文字列に改行を含める場合(エスケープシーケンス以外)

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

\文字
  • エスケープシーケンスは、通常の文字の機能や意味とは異なるものにします。
    →\"で文字列をくくるダブルコーテーション(")の機能はなくして文字として表示させる。
    →\nで改行とします。\tをタブとします。
  • 円記号(バックスラッシュ)はエスケープ文字です。
  • エスケープ文字+文字でエスケープシーケンスです。
  • バックスラッシュ(円記号)の文字コードは、shift-jisでは0x5C、UnicodeではU+005Cです。

 

よく使うエスケープシーケンスの一覧

説明
\'  シングルコーテーションを文字として表示する
\" ダブルコーテーション を文字として表示する
\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文字列)

これはエスケープシーケンスになってしまうのを防ぐサンプルです。

# coding: utf-8

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

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

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

エスケープシーケンスを使用する場合配下のようになります。

# coding: utf-8

p2 = "D:\\test1\\test1.txt"

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

3行目は、エスケープシーケンスを使用するため\を2つ並べているので上記より分かりづらくなっています。

 

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

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

# coding: utf-8

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

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


関連の記事

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

△上に戻る