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 longPokazal 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 zavijete ali izpustite.
Če imate verigo metod, ki je daljša od ene vrstice znakov, in ne dolgega niza, lahko prekinete tudi vrstico 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://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

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 imajo naslednji oklepaji svoj pomen.

  • {} = set
  • [] = list

Zato pri pisanju dolgega niza v več vrsticah uporabite okrogle oklepaje ().
Če ponovno uporabimo dejstvo, da lahko več nizov združimo v en sam niz, lahko zapišemo naslednje.

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

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

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL