Að skrifa langar textastrengi á margar línur í Python

Viðskipti

Ef þú notar PEP8-samhæfan kóðaprófara eins og flake8 í Python færðu eftirfarandi villu þegar lína fer yfir 80 stafi.
E501 line too long

Ég mun sýna þér hvernig á að brjóta langan streng sem er meira en 80 stafir, eins og vefslóð, í margar línur af kóða.

  • Hunsa línuskil með bakstökkum (\)
  • Hægt er að setja línuskil frjálslega innan sviga

Einnig er textumbrotseiningin gagnleg ef þú vilt gefa út og sýna langa strengi með því að vefja eða stytta þá.

Ef fjöldi stafa í línu er lengri í aðferðarkeðju en í löngum streng, er líka hægt að brjóta línuna í kóðanum.

Hunsa línuskil með bakstökkum (\)

Í Python er bakskástrikið (\) framhaldsstafur, og þegar það er sett í lok línu, hunsar það síðari línuskil og gerir ráð fyrir að línan haldi áfram.

n = 1 + 2 \
    + 3

print(n)
# 6

Einnig, þegar margir bókstafir strengja eru skrifaðir í röð, eru þeir samtengdir til að mynda einn streng eins og sýnt er hér að neðan.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Með því að sameina þetta tvennt er hægt að skrifa langan streng í margar línur af kóða, eins og sýnt er hér að neðan.

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

Athugaðu að aðeins er hægt að sameina strengjabókstafi (innifalið í ‘ eða „“) og breytur sem innihalda strengi munu leiða til villu.

s_var = 'xxx'

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

Til að sameina breytur hver við aðra eða breytur í strengjabókstafi, notaðu + aðgerðina.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Jafnvel þegar hann er aðskilinn með skástrik (\), þarf + stjórnandinn til að sameina breytur.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Hægt er að setja línuskil frjálslega innan sviga

Í Python geturðu frjálslega brotið línur innan eftirfarandi sviga. Þú getur notað þessa reglu til að setja langa textastrengi innan sviga.

  • ()
  • {}
  • []

Athugaðu að sumir sviga eru notaðir á annan hátt, eins og sýnt er hér að neðan, svo notaðu hringlaga sviga () fyrir slíka notkun.

  • {}Sett: Sett
  • []: Listi

Aftur, með því að nota þá staðreynd að hægt er að tengja marga strengi saman til að mynda einn streng, getum við skrifað eftirfarandi

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

Eins og í dæminu með bakskástrikinu er + stjórnandinn nauðsynlegur þegar breytur eru teknar með.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL