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

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

確認環境
・Python 3.7.0

目次

エスケープシーケンス

  • 特殊な意味を持つ文字を表すために使用します。
  • 文字の先頭にバックスラッシュ(¥円記号)を付けます。

主なエスケープシーケンス

  • 以下は、主なエスケープシーケンスです。
文字 説明
¥'  シングルコーテーション
¥" ダブルコーテーション 
¥t タブ
¥¥ バックスラッシュ
¥n 改行 (LF)
¥r 復帰 (CR)
¥0 Null文字
¥f 改ページ
¥ooo oooにはASCII文字の8進数3桁のコードが入ります
→ASCII文字が表示されます
¥xhh hhにはASCII文字の16進数2桁のコードが入ります
→ASCII文字が表示されます
¥uxxxx xxxxにはUnicodeの16進数4桁のコードが入ります
→Unicodeの文字が表示されます

コード

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

# coding: utf-8

# シングルコーテーションを表示
print ('あいう\'えお') #あいう'えお
print ("あいう'えお") #あいう'えお

# ダブルコーテーションを表示
print ("あいう\"えお") #あいう"えお
print ('あいう"えお') #あいう"えお

# タブを表示 
print ("あいう\tえお") #あいう  えお

# バックスラッシュを表示
print ("あいう\\えお") #あいう\えお

# 改行を行う
print ("あいう\nえお") #「う」の後に改行が入る

# Null文字を表示 
print ("あいう\0えお") #あいう えお

# ASCII文字の8進数3桁のコードでASCII文字を表示
print ("\101") #A
print ("\101\102") #AB

# ASCII文字の16進数2桁のコードでASCII文字を表示
print ("\x41") #A
print ("\x41\x42") #AB

# Unicodeの16進数4桁のコードでUnicode文字を表示
print ("\u0041") #A
print ("\u0041\u0042") #AB

5,9行目はエスケープシーケンスを使わない例です。
5行目は、ダブルコーテーションで括った中にシングルコーテーションがあります。
9行目は、シングルコーテーションで括った中にダブルコーテーションがあります。

 

エスケープシーケンスの文字を機能させない(raw文字列)

raw文字列を使うとエスケープシーケンスの文字を機能させずに表示できます。
raw文字列は文字列の先頭にrを追加します。

1.raw文字列を使用しない場合

raw文字列を使用しない場合です。

# coding: utf-8

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

print (p3) # D: est1 est1.txt

3行目は、パスを設定しようとしています。
5行目は、3行目の\がエスケープシーケンスの文字として機能してしまい意図した表示になっていません。

2.raw文字列を使用する場合

raw文字列を使用する場合です。

# coding: utf-8

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

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

3行目は、パスを設定しようとしています。文字列のダブルコーテーションの前にrをつけてraw文字列にしています。
5行目は、エスケープシーケンスの文字を機能させていません。意図した表示になっています。

3.エスケープシーケンスを使用する場合

エスケープシーケンスを使用する場合です。

# coding: utf-8

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

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

3行目は、エスケープシーケンスを使用するため\を2つ並べています。
5行目は、意図した表示になっています。

関連の記事

Python 文字列の始め/終わりを確認する(startswith/endswith)
Python 文字を検索し値を返す(find/index/in/count)
Python 文字列を分割してリストにする(split)
Python 大文字と小文字を変換(upper/lower/capitalize/swapcase/title)
Python 文字列の先頭と末尾を削除する(strip/lstrip/rstrip)

△上に戻る