Писање дугих низова текста у више редова у Питхон-у

Бусинесс

Ако користите програм за проверу кода усклађен са ПЕП8, као што је флаке8 у Питхон-у, добићете следећу грешку када линија премаши 80 знакова.
E501 line too long

Показаћу вам како да разбијете дугачак низ од више од 80 знакова, као што је УРЛ, у више редова кода.

  • Занемари преломе редова са обрнутим косим цртама (\)
  • Преломи линија могу се слободно ставити у заграде

Такође, модул тектврап је користан ако желите да испишете и прикажете дугачке низове тако што ћете их премотати или скраћивати.

Ако је број знакова у линији дужи у ланцу метода него у дугом низу, линија може бити прекинута и у коду.

Занемари преломе редова са обрнутим косим цртама (\)

У Питхон-у, обрнута коса црта (\) је карактер за наставак, а када се постави на крај реда, игнорише наредне преломе реда и претпоставља да се линија наставља.

n = 1 + 2 \
    + 3

print(n)
# 6

Такође, када се узастопно пише више литерала низа, они се спајају у један стринг као што је приказано у наставку.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Комбинујући то двоје, дугачак низ се може написати у више редова кода, као што је приказано испод.

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

Имајте на уму да само литерали стрингова (ограђени у ‘ или „“) могу бити спојени, а променљиве које садрже низове ће довести до грешке.

s_var = 'xxx'

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

Да бисте повезали променљиве једне са другима или променљиве са стринг литералима, користите оператор +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Чак и када је одвојен обрнутом косом цртом (\), оператор + је неопходан за спајање променљивих.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Преломи линија могу се слободно ставити у заграде

У Питхон-у можете слободно преломити линије унутар следећих заграда. Можете користити ово правило да ставите дугачке низове текста у заграде.

  • ()
  • {}
  • []

Имајте на уму да се неке заграде користе на друге начине, као што је приказано у наставку, па користите округле заграде () за такву употребу.

  • {}Сет: Сет
  • []: Листа

Опет, користећи чињеницу да се више стрингова може спојити заједно да формирају један низ, можемо написати следеће

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

Као у примеру са обрнутом косом цртом, оператор + је обавезан када су променљиве укључене.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb