Pythonプログラムで使用する特殊文字エスケープシーケンスについて解説します。
エスケープシーケンスとは
頭にエスケープ文字「\」(えんマーク)を付けた特別な意味や機能を持つ特殊な文字のことです。
「\」(えんマーク)は(バックスラッシュ)とも呼びます。使用する環境によっては「\」のように表示されますが見た目が違うだけで同じ文字です。
エスケープ文字とは
プログラムで使用する特別な意味を持つ文字の機能を無効にできる特殊な文字のことです。
例えば「\」「”」「’」などの頭に付けて使用すると文字が持つ機能を無効化(エスケープ)できます。
エスケープシーケンスは2種類
エスケープシーケンスには2種類あります。
エスケープシーケンス(機能の無効化)
エスケープ文字「\」(バックスラッシュ)を頭に付けることで文字が持つ機能を無効化できます。無効化すると何の機能もない普通の文字として使用できます。
以下のエスケープシーケンスの中では「改行無効(\改行)」を使用することが多いです。
エスケープシーケンス | 概要 |
---|---|
\改行 | 改行無効 |
\\ | えんマーク(バックスラッシュ)無効 |
\’ | シングルクォーテーション無効 |
\” | ダブルクォーテーション無効 |
サンプルプログラム(ソースコード)
1行が長いとプログラムが読みづらくなります。「\改行」を使うと行の途中で改行ができ読みやすくなります。
# 1行で記述した場合
print("1行の場合" + "aaaaaaaaaaaaaaa" + "bbbbbbbbbbbbbbb" + "ccccccccccccccc")
# 「\改行」を使用し複数行で記述
print("改行の場合"\
+ "aaaaaaaaaaaaaaa"\
+ "bbbbbbbbbbbbbbb"\
+ "ccccccccccccccc")
サンプルプログラム(ソースコード)の保存先
- 保存先(venv仮想環境):C:\code\py310\venv\trial
- ファイル名:sample_code_031.py
- エンコード:UTF-8
コマンドプロンプトでサンプルプログラム(ソースコード)を実行
実行すると、結果は1行の場合も「\改行」を使い複数行にした場合も同じになります。
(trial) C:\code\py310\venv\trial>python sample_code_031.py
1行の場合aaaaaaaaaaaaaaabbbbbbbbbbbbbbbccccccccccccccc
改行の場合aaaaaaaaaaaaaaabbbbbbbbbbbbbbbccccccccccccccc
(trial) C:\code\py310\venv\trial>
エスケープシーケンス(特別な意味や機能を持たせる)
エスケープ文字「\」(バックスラッシュ)を頭に付けることで文字に特別な意味や機能を持たせることができます。
以下のエスケープシーケンスの中では「改行(\n)」や「水平タブ(\t)」を使用することが多いです。
エスケープシーケンス | 概要 |
---|---|
\a | 端末ベル (BEL) ※音が出るので音量に注意 |
\b | バックスペース (BS) |
\f | フォームフィード (FF) |
\n | 改行 (LF) |
\r | 復帰 (CR) |
\t | 水平タブ (TAB) |
\v | 垂直タブ (VT) |
\ooo | 8 進数値 ooo を持つ文字 |
\xhh | 16 進数値 hh を持つ文字 |
\N{name} | Unicode データベース中で name という名前の文字 |
\uxxxx | 16-bit の十六進値 xxxx を持つ文字 |
\Uxxxxxxxx | 32-bit の十六進値 xxxxxxxx を持つ文字 |
サンプルプログラム(ソースコード)
「\n」や「\t」を使い文字列間に改行やタブ(TAB)を入れるプログラムです。
# 「\n」の使用例
print("織田信長\n武田信玄\n上杉謙信\n")
# 「\t」の使用例
print("織田信長\t武田信玄\t上杉謙信")
サンプルプログラム(ソースコード)の保存先
- 保存先(venv仮想環境):C:\code\py310\venv\trial
- ファイル名:sample_code_032.py
- エンコード:UTF-8
コマンドプロンプトでサンプルプログラム(ソースコード)を実行
実行すると「\n」は改行になり「\t」はタブ(TAB)になっています。
(trial) C:\code\py310\venv\trial>python sample_code_032.py
織田信長
武田信玄
上杉謙信
織田信長 武田信玄 上杉謙信
(trial) C:\code\py310\venv\trial>
まとめ
- エスケープシーケンスは頭にエスケープ文字「\」を付けた特別な意味や機能を持つ特殊な文字のこと
- 「\」(えんマーク)は(バックスラッシュ)とも呼ぶ
- エスケープ文字はプログラムで使用する特別な意味を持つ文字の機能を無効にできる特殊な文字のこと
- 良く使うのは「改行無効(\改行)」、「改行(\n)」、「水平タブ(\t)」など