Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Saya Melarikan Diri Tanda Peratusan dalam Pemformatan Rentetan Python untuk Mengelakkan `TypeError`?
Menggunakan operator peratus (%) dalam rentetan Python selalunya boleh membawa kepada kekaburan, terutamanya apabila bekerja dengan pemformatan rentetan. Konflik timbul disebabkan penggunaan % aksara dalam Python yang berbeza-beza: sebagai pengendali modulo, pemegang tempat pemformatan rentetan dan sebagai aksara ringkas. Untuk mengekalkan kawalan ke atas pengendalian aksara peratus, pelarian terpilih menjadi perlu.
Pertimbangkan kod berikut:
test = "have it break." selectiveEscape = "Print percent % in sentence and not %s" % test
Apabila mencetak selectiveEscape, anda mungkin menjangkakan akan melihat:
Print percent % in sentence and not have it break.
Walau bagaimanapun, disebabkan peratusan dua kali ganda dalam pemegang tempat pemformatan (%s), penterjemah mentafsirkannya sebagai pengendali modulo dan melemparkan TypeError yang menunjukkan keperluan untuk nombor dan bukannya hujah rentetan.
Untuk menyelesaikan masalah ini, anda mesti secara selektif melepaskan peratus aksara yang anda mahu anggap sebagai literal. Ini boleh dicapai menggunakan tanda dua peratus (%%), yang memastikan bahawa aksara peratus pertama ditafsirkan sebagai jujukan melarikan diri dan bukannya pemegang tempat pemformatan.
Kod yang diperbetulkan:
test = "have it break." selectiveEscape = "Print percent %% in sentence and not %s" % test
Dengan pelarasan ini, output kini akan dipaparkan seperti yang dikehendaki:
Print percent % in sentence and not have it break.
Melalui teknik ini, anda boleh melarikan diri secara terpilih peratus aksara dalam rentetan Python, memastikan ia ditafsirkan sebagai aksara literal dan bukannya memformat ruang letak.
Atas ialah kandungan terperinci Bagaimana Saya Melarikan Diri Tanda Peratusan dalam Pemformatan Rentetan Python untuk Mengelakkan `TypeError`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!