Pythonで特殊文字を普通の文字として扱う方法

721, 2023-08-14

目次

Pythonで特殊文字を普通の文字として扱う

Pythonで特殊文字を普通の文字として文字列で扱うにはどうしたらいいのでしょうか?
特殊文字自体を画面に出力したい時は、普通の文字として扱えないと不便です。
結論を言うとそういう時はバックスラッシュ(\)を使います。

この記事では特殊文字を普通の文字として扱う方法を解説していきます。

特殊文字の一覧

Pythonで使える特殊文字(エスケープ文字)は以下になります。

  • \a ... ベル

  • \b ... バックスペース

  • \f ... 改ページ

  • \n ... 改行

  • \r ... キャリッジリターン

  • \t ... 水平タブ

  • \v ... 垂直タブ

  • \ ... 「\」、バックスラッシュ

  • \" ... 「"」、ダブルクオーテーション

  • \' ... 「'」、シングルクオーテーション

  • \nnn ... 各nを8進数で指定。ASCIIコード

  • \xhh ... 各hを16進数で指定。ASCIIコード

  • \uhhhh ... 各hを16進数で指定。Unicode文字

  • \0 ... ナル文字

これらを文字列の中で使う場合は、上記のようにそのまま書いていきます。

s = '''
\a \b \f \n \r \t \v
\\ \" \' \777 \xff \uffff \0
'''

これらの特殊文字は上記のように文字列に含めると出力時に特殊文字として解釈されます。
たとえば「\n」の場合は改行になるので、段落ができます。

こういった特殊文字を普通の文字として、つまり特殊文字として出力するのではなく特殊文字の表記そのものを出力をしたいわけです。

特殊文字のエスケープ

特殊文字をエスケープするには特殊文字の前にバックスラッシュ(\)を置きます。
以下のようにです。

s = '''
\\n is a newline.
\\t is a tab.
'''
print(s)

上記を実行すると以下のような結果になります。

\n is a newline.
\t is a tab.

ちゃんと「\n」や「\t」がエスケープされて出力されてますね。

おわりに

今回はPythonの特殊文字をエスケープする方法を解説しました。
なにか参考になれば幸いです。

(^ _ ^)

エスケープ!

(・ v ・)

脱出!



この記事のアンケートを送信する