Python の生の文字列
Python で文字列を表現する方法はたくさんあります。文字列を表す 1つの方法は、文字列を生の文字列に変換することです。
このチュートリアルでは、Python で生の文字列を定義します。
Python の生の文字列
Python の生の文字列は、r
または R
が前に付いた通常の文字列です。文字列に存在するバックスラッシュ (\)
は、実際の文字またはリテラル文字のように扱われます。たとえば、文字列の間に\n
または\t
がある場合、その文字列は文字と見なされ、改行
またはタブ
文字とは見なされません。
文字列の前に r
または R
を付けずに、文字列の間に改行\n
文字を使用する例を見てみましょう。
print("Hi\nHow are you?")
出力:
Hi
How are you?
次に、文字列全体の前に生の文字列文字 r
を付けます。
print(r"Hi\nHow are you?")
出力:
Hi\nHow are you?
ご覧のとおり、改行文字\n
は、特殊文字ではなくリテラル文字列として扱われます。
Python で無効な生の文字列
単一のバックスラッシュ\
は、Python では有効な生の文字列とは見なされません。
print(r"\")
出力:
File "<ipython-input-6-6cdee2fbdda0>", line 1
print(r"\")
^
SyntaxError: EOL while scanning string literal
Python での生の文字列の使用
Python では、生の文字列は、文字列がまったく処理されていないときに文字列を返すために使用されます。これは、文字列の前に r
または生の文字列
が付いていて、その文字列が\x
などの無効なエスケープ文字で構成されている場合、エラーは発生しないことを意味します。
これがサンプルコードです。
print("Hi\xHow are you?")
出力:
File "<ipython-input-15-1056651b28e1>", line 1
print("Hi \x How are you?")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \xXX escape
文字列の前に r
が付いておらず、文字列の間に無効なエスケープ文字があることに注意してください。したがって、エラーが発生しました。
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn