Python Raw String Literals and the End Backslash
Python raw string, dilambangkan dengan awalan 'r', selalunya digunakan untuk mengelakkan tafsiran garis miring ke belakang sebagai urutan melarikan diri. Walau bagaimanapun, satu soalan yang menarik timbul: mengapa literal rentetan mentah Python tidak boleh diakhiri dengan satu garis miring ke belakang?
Tafsiran Python Parser
Kunci untuk memahami sekatan ini terletak pada premis rentetan mentah, iaitu untuk merawat watak-watak yang mengikuti garis serong ke belakang secara literal. Ini bermakna bahawa dalam rentetan mentah, garis miring ke belakang dan aksara selepasnya membentuk turutan melarikan diri.
Aksara Tambahan Selepas Garisan Belakang
Dalam rentetan mentah, garisan belakang diikuti oleh watak lain dianggap sebagai sebahagian daripada rentetan. Sebagai contoh, "r'abcd'" mengandungi "a, b, c, , d", dan "r'abc'd'" mengandungi "a, b, c, , ', d".
Terminator Hilang
Masalah timbul apabila garis miring ke belakang ialah aksara terakhir dalam rentetan mentah. Biasanya, rentetan mentah ditamatkan dengan petikan penutup. Walau bagaimanapun, menamatkan rentetan dengan garis miring ke belakang bermakna tiada petikan penutup, kerana garis miring ke belakang dan petikan pada asasnya membentuk urutan pelarian.
Parser's Difficulty
Parser Python, semasa mentafsir rentetan mentah, menganggap semua garis miring ke belakang sebagai urutan pelarian yang berpotensi. Apabila menghadapi satu garis miring ke belakang pada penghujungnya, ia tidak dapat menentukan sama ada ia perlu disertakan dalam rentetan atau jika ia menandakan petikan penutup yang hilang.
Kesimpulan
Sekatan tidak membenarkan satu garis miring ke belakang sebagai aksara terakhir dalam rentetan mentah Python berpunca daripada tafsiran penghurai tentang garis miring ke belakang. Dalam rentetan mentah, garis miring ke belakang mengekalkan peranannya dalam mencipta urutan melarikan diri, memastikan bahawa aksara yang mengikutinya dilayan secara literal, tetapi ini juga menghalang penghurai daripada mengenal pasti petikan penutup apabila satu garis miring ke belakang hadir pada penghujungnya.
Atas ialah kandungan terperinci Mengapakah Huruf Rentetan Mentah Python Tidak Boleh Diakhiri dengan Garis Segaris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!