Menulis rentetan panjang teks pada berbilang baris dalam Python

Perniagaan

Jika anda menggunakan penyemak kod yang mematuhi PEP8 seperti flake8 dalam Python, anda akan mendapat ralat berikut apabila baris melebihi 80 aksara.
E501 line too long

Saya akan menunjukkan kepada anda cara untuk memecahkan rentetan panjang lebih daripada 80 aksara, seperti URL, kepada berbilang baris kod.

  • Abaikan pemisah baris dengan garis miring ke belakang (\)
  • Pemisah baris boleh disertakan dengan bebas dalam kurungan

Selain itu, modul pembalut teks berguna jika anda ingin mengeluarkan dan memaparkan rentetan panjang dengan membungkus atau menyingkatnya.

Jika bilangan aksara dalam baris lebih panjang dalam rantai kaedah berbanding dalam rentetan panjang, baris itu juga boleh dipecahkan dalam kod.

Abaikan pemisah baris dengan garis miring ke belakang (\)

Dalam Python, garis miring ke belakang (\) ialah aksara kesinambungan, dan apabila diletakkan pada penghujung baris, ia mengabaikan pemisah baris berikutnya dan menganggap baris itu diteruskan.

n = 1 + 2 \
    + 3

print(n)
# 6

Selain itu, apabila beberapa literal rentetan ditulis berturut-turut, ia digabungkan untuk membentuk rentetan tunggal seperti yang ditunjukkan di bawah.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Menggabungkan keduanya, rentetan panjang boleh ditulis dalam berbilang baris kod, seperti yang ditunjukkan di bawah.

s = 'https://wikipedia.org/wiki/'\
    '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'\
    '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'

print(s)
# https://wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Ambil perhatian bahawa hanya literal rentetan (disertakan dalam ‘ atau “”) boleh digabungkan dan pembolehubah yang mengandungi rentetan akan mengakibatkan ralat.

s_var = 'xxx'

# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax

Untuk menggabungkan pembolehubah antara satu sama lain atau pembolehubah kepada literal rentetan, gunakan operator +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Walaupun apabila dipisahkan dengan garis miring ke belakang (\), operator + diperlukan untuk menggabungkan pembolehubah.

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
    + s_var\
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Pemisah baris boleh disertakan dengan bebas dalam kurungan

Dalam Python, anda boleh dengan bebas memutuskan baris dalam kurungan berikut. Anda boleh menggunakan peraturan ini untuk melampirkan rentetan panjang teks dalam kurungan.

  • ()
  • {}
  • []

Perhatikan bahawa kurungan berikut mempunyai makna.

  • {} = set
  • [] = list

Atas sebab ini, gunakan kurungan bulat () apabila menulis rentetan panjang pada berbilang baris.

Sekali lagi, menggunakan fakta bahawa beberapa rentetan boleh digabungkan bersama untuk membentuk satu rentetan, kita boleh menulis yang berikut

s = ('https://wikipedia.org/wiki/'
     '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
     '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E')

print(s)
# https://wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Seperti dalam contoh dengan garis miring ke belakang, operator + diperlukan apabila pembolehubah dimasukkan.

s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
     + s_var
     + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL