Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのエスケープ文字一覧|バックスラッシュ表記と16進文字コードを解説

Pythonにおけるエスケープ文字とは

Pythonでは、バックスラッシュ(\)を使った「エスケープシーケンス」によって、改行やタブなど、そのままでは文字列内に表現できない特殊な文字を扱うことができます。

エスケープ文字は、シングルクォート('...')で囲まれた文字列でも、ダブルクォート("...")で囲まれた文字列でも同様に解釈されます。

例えば、print("Hello\nWorld") のように記述すると、「Hello」と「World」が改行されて出力されます。このようにエスケープ文字は、文字列のフォーマットや制御に欠かせない要素です。

主なエスケープ文字の一覧

以下の表は、バックスラッシュ表記で表現できるエスケープ文字および非印字文字の一覧です。

バックスラッシュ表記16進数の文字コード説明
\a0x07ベル音(アラート)
\b0x08バックスペース
\cx-Control-x(Ctrl + x)
\C-x-Control-x(Ctrl + x)
\e0x1bエスケープ
\f0x0cフォームフィード
\M-\C-x-Meta-Control-x(メタキー + Ctrl + x)
\n0x0a改行(ニューライン)
\nnn-8進数表記(nは0〜7の範囲)
\r0x0d復帰(キャリッジリターン)
\s0x20スペース
\t0x09水平タブ
\v0x0b垂直タブ
\x-文字 x そのもの
\xnn-16進数表記(nは0〜9、a〜f、A〜Fの範囲)

エスケープ文字の使用例

実際のコードでよく使われるエスケープ文字の例を紹介します。

# 改行(\n)
print("1行目\n2行目")

# タブ(\t)
print("名前:\t太郎")

# シングルクォートを含める(\')
print('It\'s Python!')

# ダブルクォートを含める(\")
print("彼は\"こんにちは\"と言った")

# バックスラッシュ自体を出力する(\\)
print("C:\\Users\\test")

raw文字列でエスケープを無効化する

正規表現やWindowsのファイルパスなど、バックスラッシュをそのまま扱いたい場合は、文字列の先頭に r を付けることでエスケープ処理を無効化できます。

# 通常の文字列
path = "C:\new_folder"
# \n が改行として解釈される

# raw文字列
path = r"C:\new_folder"
# バックスラッシュがそのまま保持される

用途に応じて適切なエスケープ方法を選ぶことで、意図した通りの文字列出力を実現できます。

  1. HTMLの予約文字をエスケープしてコードを正しく表示する方法

    HTMLコードの構文を、ブラウザに本物のマークアップとして解釈・描画させずにそのまま表示したい場合は、あらかじめ予約文字をエスケープしておく必要があります。 なぜエスケープが必要なのか まずは、下記の<code></code>要素の中にある<h1>タグに注目してみましょう。 このコードをHTMLドキュメントにそのまま記述すると、<h1>は本物のマークアップとして解釈され、実際に見出しとして描画されてしまいます。コードを見せたいだけなのに、これでは意図した表示になりません。 この問題を避けるには、h1を囲んでいる山括弧 < と > を

  2. JavaScriptのエスケープ文字とは?特殊文字のエスケープ方法と一覧を解説

    エスケープ文字とは?エスケープ文字とは、プログラム上で本来意図した意味とは別の特別な意味に解釈されてしまう文字のことです。たとえば、ダブルクォートやシングルクォート、改行コードなどが該当します。こうした文字を「そのままの文字」として扱い、画面に出力したい場合には、直前にバックスラッシュ「\」を付けて記述します。この操作を「エスケープ処理」と呼びます。JavaScriptの主なエスケープ文字一覧コード意味・出力結果\bバックスペース\fフォームフィード\n改行(ニューライン)\rキャリッジリターン\t水平タブ\v垂直タブ\シングルクォート()\ダブルクォート()\\バックスラッシュ(\)バックス