Pisanje dolgih nizov besedila v več vrsticah v programu Python

Posel

Če uporabljate program za preverjanje kode v skladu s PEP8, kot je flake8 v Pythonu, se pri vrstici, ki presega 80 znakov, pojavi naslednja napaka.
E501 line too long

Pokazal vam bom, kako lahko dolg niz, dolg več kot 80 znakov, kot je URL, razdelimo v več vrstic kode.

  • Ignoriranje prelomov vrstic s povratnimi lomkami (\)
  • Prekinitve vrstic so lahko poljubno zaprte v oklepajih.

Modul textwrap je uporaben tudi, če želite izpisati in prikazati dolge nize tako, da jih ovijete ali skrajšate.

Če je število znakov v vrstici v verigi metod daljše kot v dolgem nizu, se lahko vrstica prekine tudi v kodi.

Ignoriranje prelomov vrstic s povratnimi lomkami (\)

V Pythonu je povratna poševnica (\) znak za nadaljevanje, in če je postavljena na konec vrstice, ne upošteva kasnejših prelomov vrstic in domneva, da se vrstica nadaljuje.

n = 1 + 2 \
    + 3

print(n)
# 6

Kadar je zaporedoma zapisanih več literalnih nizov, se ti združijo v en sam niz, kot je prikazano spodaj.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Če ju združite, lahko dolg niz zapišete v več vrsticah kode, kot je prikazano spodaj.

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

Upoštevajte, da je mogoče združiti samo literale nizov (zaprte z ' ali “”), pri spremenljivkah, ki vsebujejo nize, pa bo prišlo do napake.

s_var = 'xxx'

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

Če želite združiti spremenljivke med seboj ali spremenljivke z literali niza, uporabite operator +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Operator + je potreben za združevanje spremenljivk, tudi če so ločene s povratno poševnico (\).

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Prekinitve vrstic so lahko poljubno zaprte v oklepajih.

V Pythonu lahko poljubno prekinete vrstice v naslednjih oklepajih. To pravilo lahko uporabite za zapiranje dolgih nizov besedila v oklepaje.

  • ()
  • {}
  • []

Upoštevajte, da se nekateri oklepaji uporabljajo na druge načine, kot je prikazano spodaj, zato za takšno uporabo uporabite okrogle oklepaje ().

  • {}Komplet: Set
  • []: Seznam

Če ponovno uporabimo dejstvo, da lahko več nizov združimo v en sam niz, lahko zapišemo naslednje

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

Tako kot v primeru s povratno poševnico je pri vključitvi spremenljivk potreben operator +.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb