Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Python Menunjukkan Garis Segaris Belakang Berganda dalam Perwakilan Rentetan?

Mengapa Python Menunjukkan Garis Segaris Belakang Berganda dalam Perwakilan Rentetan?

Barbara Streisand
Lepaskan: 2024-12-24 12:21:15
asal
441 orang telah melayarinya

Why Does Python Show Double Backslashes in String Representation?

Perwakilan Berganda Garis Sentak Belakang dalam Rentetan Python

Apabila menghadapi urutan garis serik terbalik () dalam rentetan Python, adalah perkara biasa untuk melihat kesan pendua . Tingkah laku ini berpunca daripada cara Python mewakili rentetan secara dalaman.

Perwakilan berbanding Kandungan Sebenar

Apabila anda menetapkan rentetan kepada pembolehubah (cth., rentetan_my), pembolehubah akan kekal perwakilan dalaman rentetan itu. Perwakilan ini dibuat menggunakan kaedah __repr__(). Walau bagaimanapun, apabila anda mencetak rentetan (cth., print(my_string)), kandungan sebenar rentetan itu, tanpa sebarang garis miring ke belakang pendua, dipaparkan.

Sebagai contoh, pertimbangkan rentetan:

my_string = "why\does\it\happen?"
Salin selepas log masuk

Kaedah repr() menukar rentetan ini kepada:

'why\does\it\happen?'
Salin selepas log masuk

Perhatikan garis miring ke belakang berganda dalam perwakilan. Walau bagaimanapun, apabila mencetak my_string, anda akan mendapat:

why\does\it\happen?
Salin selepas log masuk

Mengapa Penduaan?

Python menggunakan garis miring ke belakang sebagai aksara melarikan diri. Sebagai contoh, n mewakili baris baharu dan t mewakili tab. Untuk membezakan antara jujukan melarikan diri yang dimaksudkan dan garis miring ke belakang literal, Python melarikan diri dari sebarang garis miring ke belakang yang digunakan dalam perwakilan rentetan dengan garis miring ke belakang yang lain.

Menyelesaikan Kekeliruan

Untuk mendapatkan yang sebenar kandungan rentetan, termasuk garis miring ke belakang tunggal, gunakan fungsi print(). Jika anda memerlukan perwakilan rentetan, anda boleh mengaksesnya menggunakan fungsi terbina dalam repr():

print(my_string)             # why\does\it\happen?
print(repr(my_string))     # 'why\does\it\happen?'
Salin selepas log masuk

Escaping Backslashes

Jika anda berhasrat untuk menggunakan garis miring ke belakang literal dalam rentetan, anda mesti melepaskannya dengan garis miring ke belakang yang lain. Ini menghalang Python daripada mentafsir garis miring ke belakang sebagai watak melarikan diri. Contohnya:

"this\text\is\what\you\need"  # Produces: this\text\is\what\you\need
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Python Menunjukkan Garis Segaris Belakang Berganda dalam Perwakilan Rentetan?. 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