Python тілінде бірнеше жолға ұзын мәтін жолдарын жазу

Іскерлік

Python тілінде flake8 сияқты PEP8 үйлесімді код тексерушісін пайдалансаңыз, жол 80 таңбадан асқанда келесі қатені аласыз.
E501 line too long

Мен сізге URL мекенжайы сияқты 80 таңбадан тұратын ұзын жолды бірнеше код жолына қалай бөлу керектігін көрсетемін.

  • Кері қиғаш сызықтары бар жол үзілімдерін елемеу (\)
  • Жол үзілімдерін жақшаға еркін алуға болады

Сондай-ақ, мәтінді айналдыру модулі оларды орау немесе қысқарту арқылы ұзын жолдарды шығару және көрсету қажет болса пайдалы.

Егер жолдағы таңбалар саны ұзын жолға қарағанда әдіс тізбегінде ұзағырақ болса, жолды кодта да үзуге болады.

Кері қиғаш сызықтары бар жол үзілімдерін елемеу (\)

Python тілінде кері қиғаш сызық (\) жалғас таңба болып табылады және жолдың соңына қойылғанда, ол келесі жол үзілімдерін елемейді және жол жалғасып жатыр деп есептейді.

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

Жол үзілімдерін жақшаға еркін алуға болады

Python тілінде келесі жақшалар ішіндегі жолдарды еркін бұзуға болады. Бұл ережені мәтіннің ұзын жолдарын жақшаға алу үшін пайдалануға болады.

  • ()
  • {}
  • []

Кейбір жақшалар төменде көрсетілгендей басқа тәсілдермен қолданылатынын ескеріңіз, сондықтан мұндай пайдалану үшін дөңгелек жақшаларды () пайдаланыңыз.

  • {}Орнату: орнату
  • []: Тізім

Тағы да, бір жолды құру үшін бірнеше жолдарды біріктіруге болатынын пайдалана отырып, біз келесіні жаза аламыз

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
Copied title and URL