Pythonの生の文字列の使い方
Python Raw Strings(生の文字列)とは何ですか?
by Bartosz Zaczyński, 2024年1月24日
短く言えば:Python Raw Stringsはエスケープ文字列を無視します
r
またはR
の小文字または大文字で始まる通常の文字列リテラルに出くわしたことがあるかもしれませんが、それがPythonの生の文字列です。
生の文字列は通常の文字列リテラルと外観および動作はほぼ同じですが、Pythonがいくつかの文字を解釈する方法には重要な違いがあります。このチュートリアルで探っていきます。
結果の文字列オブジェクトには特別なものはありません。プレフィックスを使用してリテラル値を宣言するかどうかに関係なく、常に通常のPython str
オブジェクトになります。
他のプレフィックスとして利用可能なものには、Pythonの文字列リテラルで使用できることがある以下のものがあります。
b
: バイトリテラルf
: フォーマット済み文字列リテラルu
: 旧Unicode文字列リテラル(PEP 414)
このような選択肢があることで、テキストに選択したデリミタ文字('
または"
)のいずれかが含まれている場合に構文エラーを回避することができます。例えば、文字列にアポストロフィを表す必要がある場合は、テキストを二重引用符で囲むか、両方のデリミタ型をテキスト内で混ぜるために複数行文字列を使用することができます。
選択したデリミタ形式に関係なく、文字列リテラルには常にプレフィックスを付けることができます。ただし、プレフィックスの文字と開始引用符の間にはスペースがないようにしてください。
r
という文字をプレフィックスとして使用すると、対応する文字列リテラルが生の文字列に変わります。では、Pythonの生の文字列とは一体何でしょうか?