文字列リテラルの前に「r」を付けることの意味は何ですか?
Python では、文字列リテラルの前に文字「r」が付いている場合" (「raw」の略) は、文字列が生の文字列として扱われることを指定します。これは、文字列内のエスケープ コードが無視されることを意味します。
たとえば、正規表現ビルドでは、「r」接頭辞により、バックスラッシュ文字がエスケープ文字ではなく文字列の一部とみなされます。以下に例を示します。
<code class="python">regex = re.compile( r'^[A-Z]' r'[A-Z0-9-]' r'[A-Z]$', re.IGNORECASE )</code>
この例の「r」プレフィックスは、エスケープ コード「n」(改行を示す)が改行文字として解釈されるのを防ぎます。代わりに、文字 "n" として扱われます。
通常の文字列との区別
通常の文字列と生の文字列は、エスケープ シーケンスの処理が異なります。通常の文字列は「n」などのエスケープ文字を特殊文字として処理しますが、生の文字列はそのまま残します。これにより、エスケープ コードとして解釈される文字を含む文字列を扱う際の柔軟性が高まります。
公式説明
Python のドキュメントによると、文字列リテラルが"r" または "R" 接頭辞があり、「バックスラッシュに続く文字は変更せずに文字列に含まれ、すべてのバックスラッシュは文字列内に残ります。」これにより、生の文字列の最後の文字として奇数のバックスラッシュを含めることはできず、構文エラーが発生する可能性があることがさらに明確になります。
以上がPython で文字列リテラルの前に \'r\' を置くことの意味は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。