Pitkien merkkijonojen kirjoittaminen usealle riville Pythonissa

liiketoiminta

Jos käytät PEP8-yhteensopivaa koodintarkistinta, kuten flake8:a Pythonissa, saat seuraavan virheilmoituksen, kun rivi ylittää 80 merkkiä.
E501 line too long

Näytän, miten pitkä, yli 80 merkkiä pitkä merkkijono, kuten URL-osoite, voidaan jakaa useammaksi koodiriviksi.

  • Jätä huomiotta rivinvaihdot, joissa on backslashes (\)
  • Rivinvaihdot voidaan vapaasti sulkea sulkuihin.

Myös textwrap-moduuli on hyödyllinen, jos haluat tulostaa ja näyttää pitkiä merkkijonoja käärimällä tai lyhentämällä niitä.

Jos metodiketjussa rivin merkkimäärä on pidempi kuin pitkässä merkkijonossa, rivi voidaan katkaista myös koodissa.

Jätä huomiotta rivinvaihdot, joissa on backslashes (\)

Pythonissa backslash (\) on jatkomerkki, ja kun se sijoitetaan rivin loppuun, se jättää huomiotta seuraavat rivinvaihdot ja olettaa rivin jatkuvan.

n = 1 + 2 \
    + 3

print(n)
# 6

Kun useita merkkijonokirjaimia kirjoitetaan peräkkäin, ne yhdistetään yhdeksi merkkijonoksi, kuten alla on esitetty.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Kun nämä kaksi yhdistetään, pitkä merkkijono voidaan kirjoittaa useilla koodiriveillä, kuten alla on esitetty.

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

Huomaa, että vain merkkijonokirjaimia (jotka on suljettu ':n tai ””:n sisään) voidaan ketjuttaa, ja merkkijonoja sisältävät muuttujat aiheuttavat virheen.

s_var = 'xxx'

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

Jos haluat liittää muuttujia toisiinsa tai muuttujia merkkijonokirjaimiin, käytä +-operaattoria.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Muuttujien yhdistäminen edellyttää +-operaattoria myös silloin, kun ne on erotettu vinoviivalla (\).

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Rivinvaihdot voidaan vapaasti sulkea sulkuihin.

Pythonissa voit katkaista rivit vapaasti seuraavien sulkujen sisällä. Voit käyttää tätä sääntöä pitkien tekstijaksojen sulkemiseen sulkuihin.

  • ()
  • {}
  • []

Huomaa, että joitakin sulkuja käytetään muilla tavoin, kuten alla on esitetty, joten käytä tällaisessa käytössä pyöreitä hakasulkeita ().

  • {}Aseta: Set
  • []: Luettelo

Käyttämällä taas sitä tosiasiaa, että useita merkkijonoja voidaan ketjuttaa yhteen yhdeksi merkkijonoksi, voimme kirjoittaa seuraavasti

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

Kuten esimerkissä, jossa käytettiin backslash-merkkiä, +-operaattoria tarvitaan, kun muuttujat sisällytetään.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL