Apakah ada cara untuk mendeklarasikan variabel string dalam python sehingga semua yang ada di dalamnya secara otomatis di-escape, atau memiliki nilai karakter literal?
Saya tidak bertanya bagaimana cara menghindar dari tanda kutip dengan garis miring, itu jelas. Apa yang saya minta adalah cara tujuan umum untuk membuat semuanya dalam string literal sehingga saya tidak harus secara manual melalui dan melarikan diri semuanya untuk string yang sangat besar. Ada yang tahu solusinya? Terima kasih!
a
akan berisi string dengan dua karakter pemisah baris?"
tidak baik, karena semuanya akan berakhir dengan""""
kesalahan sintaksis.Tidak ada hal seperti itu. Sepertinya Anda menginginkan sesuatu seperti "di sini dokumen" di Perl dan cangkang, tetapi Python tidak memilikinya.
Menggunakan string mentah atau string multiline berarti lebih sedikit hal yang perlu dikhawatirkan. Jika Anda menggunakan string mentah, Anda masih harus bekerja di sekitar terminal "\" dan dengan solusi string apa pun Anda harus khawatir tentang penutupan ", ',' '' atau" "" jika disertakan dalam data Anda .
Artinya, tidak ada cara untuk memiliki string tersebut
disimpan dengan benar dalam literal string Python apa pun tanpa pelolosan internal apa pun.
sumber
Anda akan menemukan dokumentasi literal string Python di sini:
http://docs.python.org/tutorial/introduction.html#strings
dan di sini:
http://docs.python.org/reference/lexical_analysis.html#literals
Contoh paling sederhana akan menggunakan awalan 'r':
sumber
(Dengan asumsi Anda tidak perlu memasukkan string langsung dari dalam kode Python)
untuk mengatasi Masalah yang ditunjukkan Andrew Dalke, cukup ketik string literal ke dalam file teks dan kemudian gunakan ini;
Ini akan mencetak teks literal dari apa pun yang ada di file teks, meskipun itu;
Tidak menyenangkan atau optimal, tetapi dapat berguna, terutama jika Anda memiliki 3 halaman kode yang memerlukan pelolosan karakter.
sumber
jika string adalah variabel, gunakan. metode repr di atasnya:
sumber
repr(s)
sebagai gantinya untuk gaya yang lebih baik