Saya memiliki garis panjang kode yang ingin saya bagi di antara beberapa baris. Apa yang saya gunakan dan apa sintaksinya?
Misalnya, menambahkan banyak string,
e = 'a' + 'b' + 'c' + 'd'
dan memilikinya dalam dua baris seperti ini:
e = 'a' + 'b' +
'c' + 'd'
python
syntax
line-breaks
long-lines
sinar
sumber
sumber
Dari PEP 8 - Panduan Gaya untuk Kode Python :
PEP8 sekarang merekomendasikan konvensi yang berlawanan (untuk melanggar pada operasi biner) yang digunakan oleh matematikawan dan penerbit mereka untuk meningkatkan keterbacaan.
Gaya melanggar Donald Knuth sebelum operator biner menyelaraskan operator secara vertikal, sehingga mengurangi beban kerja mata saat menentukan item mana yang ditambahkan dan dikurangi.
Dari PEP8: Haruskah sambungan terputus sebelum atau setelah operator biner? :
[3]: The TeXBook karya Donald Knuth, halaman 195 dan 196
sumber
The preferred way .. is by using Python's implied line continuation inside parentheses
ini sama denganby wrapping expressions in parentheses
. Saya telah memperbarui contohBahaya menggunakan backslash untuk mengakhiri garis adalah bahwa jika spasi ditambahkan setelah backslash (yang, tentu saja, sangat sulit dilihat), backslash tidak lagi melakukan apa yang Anda pikir sebelumnya.
Lihat Python Idioms dan Anti-Idioms (untuk Python 2 atau Python 3 ) untuk lebih lanjut.
sumber
set list listchars=trail:·
di vim. :)Letakkan a
\
di akhir baris Anda atau lampirkan pernyataan di parens( .. )
. Dari IBM :atau
sumber
Anda dapat memutus garis di antara tanda kurung dan kawat gigi. Selain itu, Anda dapat menambahkan karakter garis miring terbalik
\
ke garis untuk secara eksplisit memecahnya:sumber
sumber
Ini mungkin bukan cara Pythonic, tapi saya biasanya menggunakan daftar dengan fungsi join untuk menulis string panjang, seperti query SQL:
sumber
Diambil dari The Hitchhiker's Guide to Python ( Line Continuation ):
Karena itu, berikut adalah contoh mempertimbangkan beberapa impor (ketika melebihi batas garis, didefinisikan pada PEP-8 ), juga diterapkan pada string secara umum:
sumber
Jika Anda ingin memecah baris Anda karena string literal yang panjang, Anda dapat memecah string itu menjadi beberapa bagian:
akan diganti oleh
Output untuk kedua pernyataan cetak:
a very long string
Perhatikan tanda kurung dalam afiksasinya.
Perhatikan juga bahwa memecah string literal menjadi beberapa bagian memungkinkan untuk menggunakan awalan literal hanya pada bagian-bagian dari string:
sumber
Gunakan operator kelanjutan garis yaitu "\"
Contoh:
sumber