Scrierea șirurilor lungi de text pe mai multe linii în Python

Afaceri

Dacă utilizați un verificator de cod compatibil cu PEP8, cum ar fi flake8 în Python, veți primi următoarea eroare atunci când o linie depășește 80 de caractere.
E501 line too long

Vă voi arăta cum să împărțiți un șir lung de mai mult de 80 de caractere, cum ar fi un URL, în mai multe linii de cod.

  • Ignoră întreruperile de linie cu backslash-uri (\)
  • Întreruperile de linie pot fi incluse liber în paranteze.

De asemenea, modulul textwrap este util în cazul în care doriți să scoateți și să afișați șiruri de caractere lungi prin înfășurarea sau prescurtarea lor.

În cazul în care numărul de caractere dintr-o linie este mai mare într-un lanț de metode decât într-un șir lung, linia poate fi întreruptă și în cod.

Ignoră întreruperile de linie cu backslash-uri (\)

În Python, backslash-ul (\) este un caracter de continuare și, atunci când este plasat la sfârșitul unei linii, ignoră întreruperile de linie ulterioare și presupune că linia continuă.

n = 1 + 2 \
    + 3

print(n)
# 6

De asemenea, atunci când mai multe șiruri literale sunt scrise succesiv, acestea sunt concatenate pentru a forma un singur șir, după cum se arată mai jos.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Combinând cele două, un șir lung poate fi scris în mai multe linii de cod, așa cum se arată mai jos.

s = 'https://ja.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://ja.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

Rețineți că pot fi concatenate numai literalele de tip șir de caractere (încadrate în ' sau „”), iar variabilele care conțin șiruri de caractere vor da naștere la o eroare.

s_var = 'xxx'

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

Pentru a concatena variabilele între ele sau variabilele cu șiruri literale, utilizați operatorul +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Chiar și atunci când sunt separate prin backslash (\), operatorul + este necesar pentru a concatena variabilele.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Întreruperile de linie pot fi incluse liber în paranteze.

În Python, puteți întrerupe liber liniile în următoarele paranteze. Puteți utiliza această regulă pentru a închide șiruri lungi de text în paranteze.

  • ()
  • {}
  • []

Rețineți că unele paranteze sunt utilizate în alte moduri, așa cum se arată mai jos, deci utilizați paranteze rotunde () pentru astfel de utilizări.

  • {}Set: Set
  • []: Lista

Din nou, folosind faptul că mai multe șiruri de caractere pot fi concatenate împreună pentru a forma un singur șir, putem scrie următoarele

s = ('https://ja.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://ja.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

La fel ca în exemplul cu backslash, operatorul + este necesar atunci când sunt incluse variabile.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb