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

Тек жол литералдарын (‘ немесе «» ішіне алынған) біріктіруге болатындығын және жолдарды қамтитын айнымалы мәндер қатеге әкелетінін ескеріңіз.

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 тілінде келесі жақшалар ішіндегі жолдарды еркін бұзуға болады. Бұл ережені мәтіннің ұзын жолдарын жақшаға алу үшін пайдалануға болады.

  • ()
  • {}
  • []

Төмендегі жақшалардың мағынасы бар екенін ескеріңіз.

  • {} = set
  • [] = list

Осы себепті ұзын жолды бірнеше жолға жазғанда дөңгелек жақшаларды () пайдаланыңыз.

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

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

Кері қиғаш сызықпен мысалдағыдай, айнымалылар қосылғанда + операторы қажет.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL