raw stringsとは、r
(またはR
)が頭に付いた文字列のことです。
raw stringsの中でエスケープシーケンス(バックスラッシュとそれに続く文字)は、通常の文字列(文字列リテラル)として扱われます。
エスケープシーケンスについてはこちらを参照下さい。

【Python】エスケープシーケンスとは
エスケープシーケンスとは、バックスラッシュから始まる文字列のことです。よく使うエスケープシーケンスエスケープシーケンス意味\バックスラッシュ (\)\'一重引用符 (')\"二重引用符 (")\n改行参考:字句解...
raw stringsの例
r"\n"
実験
通常の文字列の場合:
>>> print("aaa\nbbb") aaa bbb
raw stringsの場合:
>>> print(r"aaa\nbbb") aaa\nbbb
このようにraw stringsでは\n
は改行ではなく、\
とn
が並んだ通常の文字列として扱われます。
注意点
「raw stringsの中ではバックスラッシュが通常の文字として扱われる」と考えるのは間違いです。
その証拠にr"\"
はエラーになります。
>>> r"\" File "", line 1 r"\" ^ SyntaxError: EOL while scanning string literal
この説明は以下ウェブページになされています。
英語ですが丁寧に説明されているので、ぜひご覧下さいませ。
Why can’t Python’s raw string literals end with a single backslash? – Stack Overflow
おわりに
今回はraw stringsについて説明しました。
では。
参考:
字句解析 – Python 3.8.0 ドキュメント
—
YouTube: ミサキさん
問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)
コメント
[…] raw strings(こちらを参照)を使うと、2つのバックスラッシュは、r”\”と表記できます。そのため、上記はこのようにも表現できます。 […]
[…] Pythonのraw strings(こちらを参照)を使うと、2つのバックスラッシュはr”\”と表記できます。実は、正規表現リテラルでも2つのバックスラッシュは/\/と短く表記できます。ただし、Pythonに正規表現リテラルはないようです。 […]