Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah Perbezaan Antara Awalan Rentetan Python 'u', 'r', dan 'ur'?

Apakah Perbezaan Antara Awalan Rentetan Python 'u', 'r', dan 'ur'?

Mary-Kate Olsen
Lepaskan: 2024-12-18 10:03:11
asal
775 orang telah melayarinya

What's the Difference Between Python String Prefixes

Nuansa Awalan Rentetan: "u", "r", dan "ur"

Dalam bidang rentetan Python, kekeliruan sering timbul mengenai tujuan dan kefungsian awalan rentetan "u", "r", dan "ur". Artikel ini bertujuan untuk menjelaskan peranan mereka yang berbeza dan selok-belok literal rentetan mentah.

Apa yang Diperlukan oleh Literal Rentetan Mentah

Bertentangan dengan salah tanggapan biasa, tiada jenis "rentetan mentah" yang berbeza. Sebaliknya, "literal rentetan mentah" merujuk kepada rentetan yang diawali dengan huruf "r", seperti r'...' atau r"""...""". Huruf ini berbeza hanya dalam pengendalian garis miring ke belakang ().

Dalam literal rentetan biasa, garis miring ke belakang yang diikuti oleh aksara lain lazimnya mencetuskan urutan melarikan diri, mewakili aksara khas seperti baris baharu atau tab. Literal rentetan mentah, walau bagaimanapun, mentafsirkan garis miring ke belakang sebagai dirinya sendiri, kecuali apabila ia mendahului petikan tunggal atau berganda penutup yang sebaliknya akan menamatkan rentetan.

Membezakan Awalan "u", "r" dan "ur"

Awalan "u" menandakan rentetan Unicode, iaitu objek Unicode jenis unicode. Dalam Python 2.*, u'...' mewakili rentetan Unicode, manakala '...' ialah rentetan bait.

Awalan "r", seperti yang dibincangkan sebelum ini, menandakan rentetan mentah literal. Ia mengekalkan garis miring ke belakang secara literal, menjadikannya berguna untuk ungkapan biasa atau apabila berurusan dengan laluan fail Windows asli. Dalam Python 2.*, kedua-dua r'...' dan r'''...''' menghasilkan rentetan bait.

Awalan "ur" menggabungkan fungsi "u" dan "r" , menghasilkan rentetan Unicode mentah literal. Rentetan Unicode Raw amat berguna apabila bekerja dengan laluan fail yang mengandungi aksara Unicode.

Menukar Antara Jenis Rentetan

Dalam Python 2.*, terdapat perbezaan antara rentetan bait dan rentetan Unikod. Untuk menukar daripada rentetan Unicode kepada rentetan bait, seseorang boleh menggunakan kaedah .encode(). Untuk menukar daripada rentetan bait kepada rentetan Unikod, seseorang boleh menggunakan kaedah .decode().

Pengekodan dan Awalan Rentetan

Dalam Python 2.*, pengekodan rentetan ditentukan oleh codec yang digunakan untuk menyahkod data bait mentah (semasa mencipta rentetan) atau untuk mengekod data Unicode (semasa mencipta rentetan). Awalan "u" tidak menjejaskan pengekodan rentetan Unicode yang terhasil.

Dalam Python 3.*, rentetan ialah Unikod mengikut lalai dan awalan "u" tidak diperlukan lagi. Selain itu, literal rentetan mentah tidak diperlukan untuk ungkapan biasa kerana garis miring ke belakang tidak dianggap sebagai urutan melarikan diri dalam rentetan mentah.

Atas ialah kandungan terperinci Apakah Perbezaan Antara Awalan Rentetan Python 'u', 'r', dan 'ur'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan