エスケープシーケンスとは、文字そのものを表示するのではなく、記号や文字の制御をおこなうことができるコードです。
改行やタブ、ダブルクォーテーションなどもエスケープシーケンスを使うことで使用することができるので、とても便利なコードになります。
また、このエスケープシーケンスはとても簡単に使うことができる上に、少しコードは違いますがPythonのみならず多くの言語にも存在するとても重要なコードです。
ということで今回は、そんな重要なコードであるエスケープシーケンスについて解説していこうと思います。
初心者の方でもわかりやすいような記事を心がけていますので、是非肩の力を抜いて見ていただけたら幸いです。
エスケープシーケンスとは

エスケープシーケンスとは、文字を表示するのではなく、記号を表示したり、改行やタブを行うことができるコードです。
例えばWEBページで
皆さんこんにちは。 今日はムーンウォークの世界記録保持者について紹介します。
のような文章を表示させたいとします。
上記の文章を表示させるには改行をする必要があるので、ソースコードでは、
print ('皆さんこんにちは。 今日はムーンウォークの世界記録保持者について紹介します。')
とします。
ただ、ソースコード改行してもWEBページで改行はされないんです。
コンピュータはソースコードの中に改行がされていても、「あ!ここは改行したいんだ」なんて思いません。
逆にこれではエラーが起きてしまい、正常に文字を表示することもできなくなってしまいます。
ではどうすれば正常に改行ができるんでしょうか?
そこで登場するのがエスケープシーケンスです。
改行をするときは、エスケープシーケンスを使って、コンピュータ側に「ここから改行だよ」と教える必要があるんです。
さっきのソースコードに、改行のエスケープシーケンスである「\n」を記入。
print ('皆さんこんにちは。\n今日はムーンウォークの世界記録保持者について紹介します。')
こうすれば、エラーが起きることなく、正常に改行を行うことができます。
このようにエスケープシーケンスを使えば、より多くの支持をコンピュータ側に伝えることができるようになります。
主なエスケープシーケンスとルール

Pythonで主に使われるようなエスケープシーケンスには
\n | 改行 |
\b | バックスペース |
\t | タブ |
\’ | シングルクォーテーション |
\” | ダブルクォーテーション |
\\ | \マーク |
のようなものがあります。
さっき紹介したような「改行」や「バックスペース」「タブ」といったものもありますが、その他にも記号である「シングルクォーテーション」「ダブルクォーテーション」「\マーク」といったものも存在します。
Pythonに限らず他の言語でもそうですが、ダブルクォーテーション(“)やシングルクォーテーション(‘)は文字を囲むことでその文字をコーンピュータ側に文字データとして認識させることができます。
例えば「こんにちは」と表示させたいときは
print ("こんにちは")
といったコードにすることで、コンピュータが「””で囲まれている文字がこんにちはだから、こんにちはを表示させればいいのか」と読み取り、結果的に「こんにちは」という文字を表示させることができます。
ただ仮に、「”」を表示させたいときはどうすればいいのでしょうか?
さっきのように「”」や「’」といった記号はコンピュータが読み取るだけの印であって、実際に表示はされませんでしたよね。
そんなときにエスケープシーケンスです。
エスケープシーケンスを使えば、「”」や「’」がもっている「文字データの印」という能力を消して、ただ単純な記号として「”」「’」を表示させることができます。
print ("It\'s) 結果→It's
また、上記の表を見てもらえば分かるように、エスケープシーケンスには\などのマークがついています。
この\マークなどは、エスケープ文字と呼ばれ、エスケープシーケンスは「\+○」というように、\マークなどのエスケープ文字と記号やアルファベットが組み合わさって作られています。
要するに、エスケープシーケンスは\マークなどのエスケープ文字を記号やアルファベットに追加することで、改行を可能にするような「能力を追加」したり、反対にダブルクォーテーションを表示するように記号の「能力を消す」といったことが可能なんです。
このようなルールは、Python以外の言語に対応したエスケープシーケンスにも適用することができるので、覚えておくと便利になります。
主なエスケープシーケンスの使い方

\n
「\n」は、改行を行うことができるエスケープシーケンスです。
さっきも紹介しましたが、ソースコードで文章をただ改行するだけでは改行はできず、エラーが起きてしまいます。
print ("おはようございます。 今日は晴れです") 結果→error
なので、改行をするには改行のエスケープシーケンスである「\n」を使用することで、エラーが起きず、改行された文章をページに表示することができます。
print ("おはようございます。\n今日は晴れです") 結果→おはようございます。 今日は晴れです。
\b
「\b」は、バックスペースを行うことができるエスケープシーケンスです。
print ("スキップランラン") print ("\bスキップランラン") 結果→スキップランラン 結果→ スキップランラン
\t
「\t」は、タブを行うことができるエスケープシーケンスです。
タブとは、文字の間などに一定の間隔を開けるスペースのようなもの。
「\t」を使えばさらに見やすい文章を表示させて、よりよいページを作ることができるんです。
print("肘立ち三銃士参上") print("\t肘立ち三銃士参上") 結果→肘立ち三銃士参上 結果→ 肘立ち三銃士参上
\’
「\’」は、シングルクォーテーションを表示することができるエスケープシーケンスです。
ソースコードにシングルクォーテーションをそのまま書き込んでも、シングルクォーテーションは表示されません。
なぜならシングルクォーテーションには、「文字を囲むことでコンピュータに文字データを教える」能力があるからです。
print ('ハロー') 結果→ハロー
そのため、シングルクォーテーションは「記号」として表示されず、「印」として処理がされます。
ただ、エスケープシーケンスを使用すればシングルクォーテーションも記号として表示することができます。
print ('It\'s a world') 結果→it's a world
これにより、さらに多くの表現が可能になります。
\”
「\”」は、ダブルクォーテーションを表示することができるエスケープシーケンスです。
ダブルクォーテーションもシングルコーテーションと同じで、「文字を囲むことでコンピュータに文字データを教える」能力があるので、記号としては表示されません。
print ("初めまして") 結果→初めまして
しかし、ダブルクォーテーションもエスケープシーケンスを使用することで、記号として表示することが可能になります。
print ("文字を\"\"で囲む") 結果→文字を""で囲む
\\
「\\」は、\マークを表示することができるエスケープシーケンスです。
print ("\\マーク") 結果→\マーク
まとめ
ということで今回は、Pythonのエスケープシーケンスについて解説しました。
エスケープシーケンスとは、文字そのものを表示するのではなく、改行やタブといった文字を制御したり、通常表示されないようなダブルクォーテーション(“)やシングルクォーテーション(‘)を表示することができるコードです。
また、エスケープシーケンスは、Python以外のプログラミング言語にも存在していて、それぞれコードが異なります。
ただ、基本的な作りのルールは同じで、「エスケープ文字+文字or記号」のようになっているので覚えておくと他の言語を使用する場合に便利になります。
このようにエスケープシーケンスはPythonだけではなく多くの言語に存在し、表現の幅を広げるとても大切なコードです。
少しでもそんなエスケープシーケンスのことが、この記事を通して学んでいただけたのであれば幸いです。
最後まで見ていただいてありがとうございました。
コメント