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

textwrap-moduuli on hyödyllinen myös, jos haluat tulostaa ja näyttää pitkiä merkkijonoja käärimällä tai jättämällä ne pois.
Jos sinulla on metodiketju, joka on yhtä merkkiriviä pidempi kuin pitkä merkkijono, voit katkaista myös koodissa olevan rivin.

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://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

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ä seuraavilla sulkeilla on merkitystä.

  • {} = set
  • [] = list

Kun kirjoitat pitkää merkkijonoa useammalle riville, käytä pyöreitä hakasulkeita ().
Kun taas käytetään sitä, että useita merkkijonoja voidaan ketjuttaa yhteen yhdeksi merkkijonoksi, voidaan kirjoittaa seuraava.

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

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