Python
でバックスラッシュ( \
)などの特殊文字を出力する方法を説明します。特殊文字を文字列として出力する際に利用できると思います。
前提条件
今回のサンプルコードで使用している Python
のバージョンは以下の通りです。
- Python : 3.9.1
実装サンプル
例えば、ダブルクォーテーションを文字列として出力したい場合は、このようにバックスラッシュ( \
)を使用します。
>>> print("Hello \"Python\"!!")
Hello "Python"!!
これで、ダブルクォーテーションが文字列として出力されます。
改行コードを出力する場合は、
>>> print("Hello\nPhthon!!")
Hello
Phthon!!
このように「 \n
」を使用すると改行された文字列が出力されます。
基本的には文字列の中で「 \"
」や「 \n
」といったエスケープシーケンスを使用することで特殊文字を文字列として出力させることができます。
Python のエスケープシーケンス一覧
Python
で使用できるエスケープシーケンスには以下のようなものがあります。
エスケープシーケンス | 意味 |
---|---|
\0 | NULL |
\t | 水平タブ |
\v | 垂直タブ |
\n | LF (改行) |
\r | CR (キャリッジリターン) |
\f | 改ページ |
\' | シングルクォーテーション |
\" | ダブルクォーテーション |
\\ | バックスラッシュ |
\a | ベル |
\b | バックスペース |
\ccc | 8進数 ccc で ASCII コードの文字を指定 |
\xcc | 16進数 cc で ASCII コードの文字を指定 |
\ucccc | 16進数 cccc で ASCII コードの文字を指定 |
波括弧の利用方法について
波括弧「 {}
」を使用する場合、通常の文字列として出力するのであれば特に問題はありませんが、 format
関数を使用する場合には注意が必要です。 format
関数を使用した場合は波括弧がプレースホルダーとして実行されるので、波括弧を出力したい場合は波括弧を二重にして使用しなければなりません。
# 通常の文字列として利用する場合
print("{ OK }")
{ OK } # 正常に出力されます
# format 関数を使用した場合
c = "Test"
print(f'"{c} and { OK }"')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'OK' is not defined
# 上記のように波括弧がプレースホルダーとして扱われるためエラーになります
print(f'"{c} and {{ OK }}"')
"Test and { OK }"
# 波括弧を二重にすれば出力することができます。
最後に
Python
での特殊文字の出力方法について説明しました。実装自体は難しくないのですが、知識がないと実装に時間がかかってしまうかもしれないので、実装方法とどの文字が特殊文字なのかしっかり覚えておきたいですね。
コメント