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 long

Nä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.

Samuti on textwrap-moodul kasulik, kui soovite väljastada ja kuvada pikki stringisid, mähistades või lühendades neid.

Kui meetodite ahelas on rea tähemärkide arv pikem kui pika stringi puhul, võib rea ka koodis 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://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

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 mõningaid sulgusid kasutatakse teistmoodi, nagu allpool näidatud, seega kasutage sellise kasutamise korral ümarsulgureid ().

  • {}Komplekt: Komplekt:
  • []: Loetelu

Kasutades jällegi asjaolu, et mitu stringi saab kokku liita, et moodustada ühe stringi, saame kirjutada järgmist

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

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

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL