Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah Sebatan Terbalik Digandakan Apabila Memaparkan Rentetan Python?

Mengapakah Sebatan Terbalik Digandakan Apabila Memaparkan Rentetan Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-30 15:14:191005semak imbas

Why are Backslashes Doubled When Displaying Python Strings?

Mengapa Garis Garis Belakang Muncul Dua Kali

Apabila menyimpan rentetan dengan garis miring belakang dalam Python, anda mungkin perasan bahawa ia kelihatan dua kali ganda. Ini berlaku apabila menggunakan kaedah __repr__() untuk mendapatkan semula perwakilan rentetan. Dengan menggunakan print() sebaliknya, anda akan melihat bahawa garis miring ke belakang kekal tunggal, seperti yang dimaksudkan:

>>> my_string = "why\does\it\happen?"
>>> my_string
'why\does\it\happen?'

>>> print(my_string)
why\does\it\happen?

Walaupun penggandaan dipaparkan dalam perwakilan, rentetan itu sendiri hanya mengandungi garis miring ke belakang tunggal, seperti yang ditunjukkan oleh panjangnya :

>>> 'a\b'
'a\b'
>>> len('a\b')
3

Untuk mendapatkan semula perwakilan standard rentetan, gunakan repr() fungsi:

>>> print(repr(my_string))
'why\does\it\happen?'

Python menggambarkan garis miring ke belakang sebagai dalam rentetan kerana garis miring ke belakang bertindak sebagai watak melarikan diri. Sebagai contoh, n menandakan baris baharu, dan t mewakili tab. Walau bagaimanapun, ini boleh mengakibatkan tingkah laku yang tidak disengajakan:

>>> print("this\text\is\not\what\it\seems")
this    ext\is
ot\what\it\seems

Untuk menentukan rupa literal garis miring ke belakang, gandakannya:

>>> print("this\text\is\what\you\need")
this\text\is\what\you\need

Kesimpulannya, apabila mendapatkan semula perwakilan rentetan, Python terlepas semua garis miring ke belakang untuk tujuan keselamatan. Walau bagaimanapun, rentetan sebenar hanya memegang garis miring ke belakang tunggal. Untuk mendapatkan maklumat lanjut tentang literal rentetan Python, rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Mengapakah Sebatan Terbalik Digandakan Apabila Memaparkan Rentetan 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