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('Thata¥'s')
print('AAA¥¥BBB')
#出力03
That's
AAA¥BBB

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

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

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

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

[a0051]

3.参考記事

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

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

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

Python♪私が購入したPythonの書籍のレビュー

UdemyのPythonの動画講座を書籍を買う感覚で購入してみた