Python♪用語集:エスケープシーケンス、エスケープ文字

0.Python♪ モヤモヤを解消する明快な用語集

「Python♪モヤモヤを解消する明快な用語集」の用語集Top(索引)はこちらです。

モヤモヤを解消する明快な用語集を目指します。例えば言葉の定義が「グレー」なものは「グレー」であると解説します。なお、同じ言葉でも、例えば「Python」と「Java」では定義が違うことがあります。 その場合、「python」での定義を解説します。

1.解説する用語

エスケープシーケンス」「エスケープ文字

2.エスケープシーケンス、エスケープ文字

改行のように通常の文字列では表現できないものも「\n」といった文字列で記述することができます。「\n」のような特殊な文字や機能を表す文字列のことをエスケープシーケンスといいます。また、エスケープシーケンスの頭につけ、特殊な意味をもつことを示す「\」はエスケープ文字といいます。

(1) エスケープ文字の「¥」と「 \

エスケープ文字の「¥」は、フォントによっては表示が円マーク「¥」であったり、バックスラッシュ「\」であったりしますが、フォントによる表記の違いだけですので同じものです。使っているPCやソフトによって表示が違う場合がありますが、気にしないようにしましょう。なお、バックスラッシュ「\」とスラッシュ「/」は違う文字ですので区別しましょう。

(2) 特殊な文字や機能を表すエスケープシーケンスの使用例

改行を示すエスケープシーケンス「\n」の使用例です。以下のように「AAA」「BBB」「CCC」の間に\nを挿入すると、それぞれ「\n」の部分で改行されます。1行目は円マーク、2行目はバックスラッシュで表示された例です。

'AAA¥nBBB¥nCCC'
'AAA\nBBB\nCCC'

以下、「\n」を含む文字列の出力例です。

#コード01
print('AAA¥nBBB¥nCCC')
#出力01
AAA
BBB
CCC

(3) ただの文字であることを示すエスケープシーケンス

改行を示す 「\n」は、特殊な文字や機能を表す文字列ですが、逆に、特殊な意味をもつ文字をただの文字として扱う方法もあります。それが、「\\」「\"」「\'」です。例えば、「That's」 と表示したい場合、コード02の3行目のように記述してしまうと、文字列の範囲を示す「'」が3つあるため、どこからどこの範囲が文字列なのかからなくなり、エラーになります。そこで、コード03の3行目のように、「'」の前に「\」を付け「\'」とすることで、「That」「s」の間の「'」が、ただの文字列であることを明示できます。すると、今度はエラーにならず、出力03のように出力できます。同様に「\」も単独ではエラーになりますので、「\\」とします。

#コード02
#エラーになる例
print('That's')
print('AAA¥BBB')
#コード03
print('That¥'s')
print('AAA¥¥BBB')
#出力03
That's
AAA¥BBB

なお、「\\」「\"」「\'」の頭につける「\」も、「\n」と同様にエスケープ文字と呼びます。

(4) 「\\」については諸説あります

特殊な文字や機能を表す「\n」はエスケープシーケンスです。一方、ただの文字であることを示す「\\」「\"」「\'」は、本来、エスケープシーケンスではありません。

しかし、プログラミング言語の解説本などでは、どちらもエスケープシーケンスとして扱っているケースが多いようです。

[a0051]

3.参考記事

基本:コメントアウトと、インデントやエスケープシーケンス

私が実際に購入した教材のご紹介

以下、私が実際に購入したPythonの教材をまとめてみました。 Pythonを学習する上で、少しでもお役に立つことができればうれしいです。

Python♪私が購入したPythonの書籍のレビュー
UdemyのPythonの動画講座を書籍を買う感覚で購入してみた

その他

Twitterへのリンクです。SNSもはじめました♪

液晶ペンタブレットを買いました
 (1) モバイルディスプレイを買うつもりだったのに激安ペンタブレット購入

以下、私が光回線を導入した時の記事一覧です。
 (1) 2020年「光回線は値段で選ぶ」では後悔する ←宅内工事の状況も説明しています。
 (2) NURO光の開通までWiFiルーターを格安レンタルできる
 (3) NURO光の屋外工事の状況をご紹介。その日に開通!
 (4) 光回線開通!実測するとNURO光はやっぱり速かった
 (5) ネット上のNURO光紹介特典は個人情報がもれないの?