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
Barbara Streisandasal
2024-12-24 12:21:15406semak imbas

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?"

Kaedah repr() menukar rentetan ini kepada:

'why\does\it\happen?'

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

why\does\it\happen?

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?'

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

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!

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