Sama seperti C, anda dapat mematahkan garis panjang menjadi beberapa garis-garis pendek. Tapi di Python, jika aku melakukan ini, akan ada kesalahan indent... Apakah mungkin?
Dari PEP 8 - Panduan Gaya untuk Python Code:
pilihan cara membungkus garis panjang adalah dengan menggunakan Python's tersirat baris kelanjutan di dalam tanda kurung, kurung kurawal. Jika perlu, anda dapat menambahkan tambahan sepasang tanda kurung di sekitar sebuah ekspresi, tapi kadang-kadang menggunakan backslash terlihat lebih baik. Pastikan untuk indent terus line dengan tepat.
Contoh implicit line continuation:
a = some_function(
'1' + '2' + '3' - '4')
Pada topik line-istirahat sekitar satu operator binary, ia melanjutkan dengan mengatakan:-
Untuk dekade yang dianjurkan gaya untuk istirahat setelah operator biner. Tetapi hal ini dapat menyakiti dibaca dalam dua cara: operator cenderung untuk mendapatkan tersebar di seluruh kolom yang berbeda pada layar, dan masing-masing operator adalah menjauh dari operan dan ke baris sebelumnya.
Di kode Python, diperbolehkan untuk istirahat sebelum atau setelah operator binary, asalkan konvensi konsisten lokal. Untuk kode baru Knuth's gaya (garis istirahat sebelum operator) lebih disarankan.
Contoh eksplisit kelanjutan baris:
a = '1' \
+ '2' \
+ '3' \
- '4'
Ada lebih dari satu cara untuk melakukan itu.
1). Sebuah pernyataan panjang:
>>> def print_something():
print 'This is a really long line,', \
'but we can make it across multiple lines.'
2). Menggunakan tanda kurung:
>>> def print_something():
print ('Wow, this also works?',
'I never knew!')
3). Menggunakan \
lagi:
>>> x = 10
>>> if x == 10 or x > 0 or \
x < 100:
print 'True'
Mengutip PEP8:
pilihan cara membungkus panjang garis adalah dengan menggunakan Python's tersirat line kelanjutan di dalam tanda kurung, kurung kurawal. Jika diperlukan, anda dapat menambahkan tambahan sepasang tanda kurung di sekitar sebuah ekspresi, tapi kadang-kadang menggunakan backslash terlihat lebih baik. Pastikan untuk indent terus line dengan tepat. Tempat yang disukai untuk istirahat sekitar biner operator setelah operator, bukan sebelum itu.
Jika anda ingin menetapkan panjang str untuk variabel, anda dapat melakukannya sebagai berikut:
net_weights_pathname = (
'/home/acgtyrant/BigDatas/'
'model_configs/lenet_iter_10000.caffemodel')
Tidak menambahkan koma, atau anda akan mendapatkan sebuah tuple yang mengandung banyak strs!
Ketika mencoba untuk memasukkan teks terus menerus (katakanlah, sebuah query) tidak menempatkan koma di akhir baris atau anda akan mendapatkan daftar dari string bukan satu string panjang:
queryText= "SELECT * FROM TABLE1 AS T1"\
"JOIN TABLE2 AS T2 ON T1.SOMETHING = T2.SOMETHING"\
"JOIN TABLE3 AS T3 ON T3.SOMETHING = T2.SOMETHING"\
"WHERE SOMETHING BETWEEN <WHATEVER> AND <WHATEVER ELSE>"\
"ORDER BY WHATEVERS DESC"
agak seperti itu.
Ada komentar seperti ini dari acgtyrant
, maaf, aku't melihat bahwa. :/
Sejauh yang saya tahu, hal itu dapat dilakukan. Python memiliki implicit line continuation (dalam tanda kurung, kurung, dan string) untuk triple-dikutip string ("""seperti"""
)dan indentasi dari baris kelanjutan yang tidak penting. Untuk info lebih lanjut, anda mungkin ingin membaca ini artikel pada analisis leksikal, dari python.org.
DB terkait kode terlihat lebih mudah pada mata dalam beberapa baris, diapit oleh sepasang triple kutipan:
SQL = """SELECT
id,
fld_1,
fld_2,
fld_3,
......
FROM some_tbl"""
dari berikut salah satu raksasa garis panjang:
SQL = "SELECT id, fld_1, fld_2, fld_3, .................................... FROM some_tbl"