Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python入門】エスケープ文字をそのまま出力する方法をわかりやすく解説

この記事では、Pythonでエスケープ文字をそのまま出力(表示)する方法について解説します。エスケープ文字という言葉自体はご存じの方も多いと思いますが、まず初めに、まだ馴染みのない方のためにエスケープ文字の基本からおさらいしておきましょう。

エスケープ文字とは?

エスケープ文字とは、文字列の中で特別な意味を持つ記号のことです。たとえば、文字列に改行やタブなどを含めたい場合に、これらのエスケープ文字を使用します。

まずは、代表的なエスケープ文字である改行コード「\n」を使った例を見てみましょう。

例:改行(\n)の出力

## 改行コードを含む文字列
new_line_string = "Hi\nHow are you?"

## 「Hi」と「How are you?」がそれぞれ別の行に出力される
print(new_line_string)

実行結果

上記のプログラムを実行すると、以下のように出力されます。

Hi
How are you?

エスケープ文字をそのまま表示したい場合

Pythonには\n、\t、\rなど、さまざまなエスケープ文字が用意されています。しかし、「改行せずに『\n』という文字そのものを画面に表示したい」という場面も少なくありません。そんなときに役立つのが、組み込み関数repr()です。

repr()関数を使うと、指定した文字列をそのままの形(エスケープシーケンス込み)で出力できます。実際の例を見てみましょう。

例:repr()関数を使う方法

## エスケープ文字を含む文字列
string = "Hi\nHow are you?\nFine."

## 文字列がそのままの形で出力される
print(repr(string))

実行結果

上記のプログラムを実行すると、以下のような結果になります。

'Hi\nHow are you?\nFine.'

repr()を使わない方法:raw文字列(r"")

repr()関数を使わなくても、エスケープ文字を含んだ文字列をそのまま出力する方法があります。それが、文字列リテラルの先頭に r または R を付ける「raw文字列(生文字列)」の指定です。

例:raw文字列を使う方法

## 先頭にRを付けたraw文字列
string = R"Hi\nHow are you?\nFine."

## 文字列がそのままの形で出力される
print(string)

実行結果

上記のプログラムを実行すると、以下のような結果になります。

Hi\nHow are you?\nFine.

なお、大文字の「R」ではなく小文字の「r」を使っても、まったく同じ結果が得られます。一般的には小文字の「r」がよく使われます。

まとめ

この記事では、Pythonでエスケープ文字をそのまま出力する2つの方法を学びました。ひとつは組み込み関数repr()を使う方法、もうひとつは先頭にr(またはR)を付けたraw文字列として定義する方法です。正規表現やWindowsのファイルパスを扱う際にもraw文字列は便利なので、ぜひ覚えておいてください。

記事の内容について不明な点や疑問がある場合は、ぜひコメント欄でお知らせください。

  1. Pythonで文字列を連結して出力する方法

    Pythonでは、文字列に対してプラス(+)演算子を使用すると、それが連結演算子として機能します。つまり、2つ目の文字列を1つ目の文字列の末尾に追加し、ひとつの文字列として結合することができます。基本的な使い方以下のように、+演算子で複数の文字列をまとめ、print()関数で出力できます。>>> s1 = TutorialsPoint >>> s2 = Hyderabad >>> print(s1+s2) TutorialsPoint Hyderabadその他の文字列連結の方法+演算子以外にも、Pythonには文字列を連結する便利な方法が

  2. Pythonで文字列の3番目から5番目までの文字を抽出・表示する方法

    Pythonのスライス機能を使った部分文字列の取得Pythonには「スライス」という便利な機能があり、これを使うと元の文字列から任意の部分文字列を簡単に取り出すことができます。「文字列の3番目から5番目までの文字だけを表示したい」といったケースで活躍します。スライス演算子[:]の基本的な使い方スライス演算子[:]を使用する際は、2つのオペランド(整数値)を指定します。第1オペランド:スライスの開始位置となる文字のインデックス第2オペランド:スライスの終了位置にある文字の「次の」文字のインデックスここで重要なのは、Pythonのシーケンス型(文字列やリストなど)のインデックスは0から始まるという