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 longVă 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.

Modulul textwrap este, de asemenea, util dacă doriți să scoateți și să afișați șiruri de caractere lungi prin înfășurarea sau omiterea lor.
Dacă aveți un lanț de metode care este mai lung decât un singur rând de caractere, mai degrabă decât un șir lung, puteți întrerupe și linia din 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://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

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ă următoarele paranteze au o semnificație.

  • {} = set
  • [] = list

Prin urmare, atunci când scrieți un șir lung pe mai multe linii, utilizați paranteze rotunde ().
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://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

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

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL