Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Implikasi Mendahului \"r\" Sebelum String Literals dalam Python?

Apakah Implikasi Mendahului \"r\" Sebelum String Literals dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-10-17 19:54:30563semak imbas

What is the Implication of Preceding

Apakah Kepentingan Literal Rentetan Sebelumnya dengan "r"?

Dalam Python, apabila literal rentetan didahului oleh aksara "r " (bermaksud "mentah"), ia menetapkan bahawa rentetan itu akan dianggap sebagai rentetan mentah. Ini menunjukkan bahawa kod escape dalam rentetan akan diabaikan.

Contohnya, dalam binaan ungkapan biasa, awalan "r" memastikan bahawa aksara garis miring ke belakang dianggap sebagai sebahagian daripada rentetan dan bukannya aksara melarikan diri. Di bawah ialah contoh:

<code class="python">regex = re.compile(
    r'^[A-Z]'
    r'[A-Z0-9-]'
    r'[A-Z]$', re.IGNORECASE
)</code>

Awalan "r" dalam contoh ini menghalang kod melarikan diri "n" (yang menandakan baris baharu) daripada ditafsirkan sebagai aksara pemisah baris. Sebaliknya, ia dianggap sebagai aksara "n".

Perbezaan daripada Rentetan Biasa

Rentetan biasa dan rentetan mentah berbeza dalam pengendalian urutan pelariannya. Walaupun rentetan biasa memproses aksara melarikan diri seperti "n" sebagai aksara khas, rentetan mentah meninggalkannya seperti sedia ada. Ini membolehkan lebih fleksibiliti apabila bekerja dengan rentetan yang mengandungi aksara yang sebaliknya akan ditafsirkan sebagai kod melarikan diri.

Penjelasan Rasmi

Menurut dokumentasi Python, apabila rentetan literal mempunyai awalan "r" atau "R", "karakter yang mengikuti garis miring ke belakang disertakan dalam rentetan tanpa perubahan dan semua garis miring ke belakang ditinggalkan dalam rentetan." Ini menjelaskan lagi bahawa rentetan mentah tidak boleh mempunyai bilangan garis sengkang ke belakang yang ganjil sebagai aksara terakhir, yang akan membawa kepada ralat sintaks.

Atas ialah kandungan terperinci Apakah Implikasi Mendahului \"r\" Sebelum String Literals dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn