Pythonの文字列「r」の意味とは?raw列とエスケープ文字

Pythonで文字列を扱うときには細かいルールがたくさんあります。今回はraw列やエスケープ文字の解説をしていきますが、その前にそのルールを確認しておきましょう。

文字列のルール

  • クォートで挟んで表す。
  • シングルクォート(’)でもダブルクォート(”)でもOK

シングルクォートやダブルクォートを出力したい場合は、挟むクォートの種類を変えます。

  • シングルを出力したいならダブルで挟む
  • ダブルを出力したいならシングルで挟む

このように特殊な文字を出力したい場合にはルールがありますが、エスケープ文字やraw列を使うともっとラクに書くことができます。

エスケープ文字とは?

以下の表のように特定の文字の前にバックスラッシュ(\)をつけて表すことで、クォートや改行、タブなどを入力できます。日本語環境なら「\」ではなく「¥」になります。

エスケープ文字意味
\’ (¥’)シングルクォート
\” (¥”)ダブルクォート
\n (¥n)改行
\t (¥t)タブ
\\ (¥¥)バックスラッシュ

この表にあるエスケープ文字を使うとクォートの種類を気にせず書くことできます。以下の文は同じ出力結果になっています。エスケープ文字を使ったときと使わないときの違いを確認できます。

そのほかの例もいかに書いています。最後の例はバックスラッシュと「¥」は同じものと考えてください。

raw列とは?

rawとは「生の」という意味の英単語です。文字列のクォートの前に「r」を書くとバックスラッシュをそのまま出力します。つまり、エスケープ文字で使う「\」が残るります。

raw列の文は「¥」が出力されていますが、そうでない文はエスケープ文字として扱われています。

この表し方はファイルパスを表すときに有効です。もし、raw列を使わないなら「path1」のようにエスケープ文字を使う必要があります。わずかですがメンドウですね。

ファイル操作やWebスクレイピングなどのURLでも有効にな方法です。

関連記事

Pythonを使ったWebスクレイピングの入門編ということで、そもそもWebスクレイピングとは何か、どうやってプログラムを書けばいいのか、プログラムの骨格となる部分についてまとめていこうと思います。 環境:Windows102020[…]

関連記事

今回は「ルートディレクトリ・カレントディレクトリ・ファイルパス」の説明をします。 もし、「ディレクトリ」という言葉が分からない場合は下の記事をご覧ください。 [sitecard subtitle=関連記事 url="https[…]

まとめ

  • 文字列はクォートで挟む。
  • エスケープ文字で特別な文字を表せる。
    • 「\」か「¥」の後ろに特定の文字を書く
  • raw列でそのままの文字列を出力できる。
    • クォートの前に「r」を書く

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]