Pikkade tekstiridade kirjutamine mitmes reas Pythonis

Äri

Kui kasutate Pythonis PEP8-le vastavat koodikontrolliprogrammi, näiteks flake8, saate järgmise vea, kui rida ületab 80 tähemärki.E501 line too longNäitan teile, kuidas lõhkuda pikk, üle 80 tähemärgi pikkune string, näiteks URL, mitmeks koodireaks.

  • Ignoreeri reavahetused koos kaldkriipsudega (\)
  • Ridaühendusi võib vabalt sulgudesse sulgeda.

Moodul textwrap on kasulik ka siis, kui soovite pikad stringid väljastada ja kuvada, mähkimisega või ärajätmisega.
Kui teil on meetodite ahel, mis on pikem kui üks rida tähemärke, mitte aga pikk string, siis saate koodis ka rea katkestada.

Ignoreeri reavahetused koos kaldkriipsudega (\)

Pythonis on kaldkriips (\) jätkumärk ja kui see paigutatakse rea lõppu, ignoreeritakse järgnevaid reavahetusi ja eeldatakse, et rida jätkub.

n = 1 + 2 \
    + 3

print(n)
# 6

Samuti, kui mitu string literaali kirjutatakse järjestikku, ühendatakse need üheks stringiks, nagu allpool näidatud.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Kombineerides neid kahte, saab pika stringi kirjutada mitme koodireaga, nagu allpool näidatud.

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

Pange tähele, et ainult string literaale (ümbritsetud ' või “”) saab liita ja stringi sisaldavate muutujate puhul tekib viga.

s_var = 'xxx'

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

Muutujate omavaheliseks ühendamiseks või muutujate liitmisel stringi literaalideks kasutage operaatorit +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Isegi kui muutujad on eraldatud kaldkriipsuga (\), on muutujate ühendamiseks vajalik operaator +.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Ridaühendusi võib vabalt sulgudesse sulgeda.

Pythonis võite vabalt katkestada read järgnevates sulgudes. Seda reeglit saab kasutada pikkade tekstisõnade sulgudes sulgemiseks.

  • ()
  • {}
  • []

Pange tähele, et järgmistel sulgudes on tähendus.

  • {} = set
  • [] = list

Seetõttu kasutage pika stringi kirjutamisel mitmele reale ümarsulgureid ().
Kasutades jällegi asjaolu, et mitu stringi saab kokku liita, et moodustada üks string, võime kirjutada järgmist.

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

Nagu näites koos kaldkriipsuga, on muutujate lisamisel nõutav operaator +.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb