この記事を書いたきっかけ
Pythonの勉強をしていると、ごくたまにエスケープシーケンスの出番があります。「printで出力するこの文字列を改行したい」とか、「文字列の中に"(ダブルクォート)入れたい」とか、頻繁にエスケープシーケンスを使うわけではないので、ついついその書き方を忘れてしまいます。
忘れてしまうたびに毎回調べるのは面倒なので、使う可能性の高いエスケープシーケンスを一覧にしました。この記事を見て、思い出すようにしようと思います。
あと、バックスラッシュの入力方法もよく忘れるので、それもここに書いておきます。
- MacのバックスラッシュキーはOptionキーを押しながら「¥」キーを押します。
- Windowsのバックスラッシュキーは「ろ」の位置にあります。
よく使うエスケープシーケンス一覧
名前 | ES |
---|---|
改行 | \n |
キャリッジリターン | \r |
タブ | \t |
バックスラッシュ | \\ |
シングルクォート | \' |
ダブルクォート | \" |
バックスペース | \b |
エスケープシーケンスとは、特定の文字を表現するために使用される文字列のことです。バックスラッシュ(\)で始まり、その後に特定の文字や数字が続きます。エスケープシーケンスは、特定の制御文字や特殊文字を文字列内で表現する際に使用されます。
- 制御文字の表現
改行、タブ、バックスペースなどの制御文字を文字列内で表現するために使用されます。例えば、n(改行)、\t(タブ)など。 - 特殊文字の表現
通常の方法では文字列に含めることができない特殊文字を表現するために使用されます。例えば、\(バックスラッシュ)、"(ダブルクォート)など。 - 制御シーケンス
特定の動作を実行するためのシーケンスです。例えば、ベル(警告音)を鳴らすための \a や、カーソルを行の先頭に戻すための \r など。
よく使うエスケープシーケンス詳細
改行: \n
使用タイミング: テキストを複数行に分割して表示したいとき
例: ログメッセージの書き出し、テキストファイルの生成
\n は "newline" の略で、新しい行を開始するという意味があります。
print("Hello\nWorld")
# 出力:
# Hello
# World
キャリッジリターン: \r
キャリッジリターン(Carriage Return)とは、テキスト表示やプリンタの動作に関する制御文字の一つで、行の先頭に戻る動作を指します。
使用タイミング: 行の先頭に戻り、次の文字で上書きする場合
例: プログレスバーの表示、リアルタイムのコンソール出力
print("Hello\rWorld")
# 出力:
# World
タブ: \t
HelloとWorldの間にタブが挿入されます。
使用タイミング: テキストをタブで整形したいとき
例: 表形式のデータの表示、整形されたログ出力
print("Hello\tWorld")
# 出力:
# Hello World
バックスラッシュ: \\
使用タイミング: バックスラッシュ自体を文字列内で表示したいとき
例: ファイルパスの表示、正規表現の使用
print("This is a backslash: \\")
# 出力:
# This is a backslash: \
シングルクォート: \'
使用タイミング: シングルクォートを含む文字列をシングルクォートで囲むとき
例: 会話文の表示、文字列内のシングルクォートを表現
print('It\'s a book')
# 出力:
# It's a book
ダブルクォート: \"
使用タイミング: ダブルクォートを含む文字列をダブルクォートで囲むとき
例: 会話文の表示、文字列内のダブルクォートを表現
print("He said, \"Hello\"")
# 出力:
# He said, "Hello"
バックスペース: \b
文字を1つ後退します。
使用タイミング: 1文字前に戻り、その文字を削除したいとき
例: タイピングのエフェクト、進行中の入力の修正
バックスペースのエスケープシークエンス(\b)は、文字列の一部を削除して新しい情報を表示する必要がある場合に使用されます。特にインタラクティブなアプリケーションやリアルタイムの表示更新において便利です。
print("Hello\bWorld")
# 出力:
# HellWorld
まとめ
基本的には、特殊文字(’とか”とか)を表現したいときには、バックスラッシュ(\)を前につけるだけ。一番よく使うのは改行なので、\nだけ忘れないようにしたいと思います。