Ніжэй апісваецца аперацыя радкоў, якія змяшчаюць новыя радкі ў Python.
- Стварыць радок, які змяшчае новы радок, раздрукаваць (дысплей)
- сімвал новага радка (або абодва з CR і LF у залежнасці ад сістэмы)
\n
(НЧ),\r\n
(CR+LF) - патройная цытата
''
,"""
- Калі вы хочаце зрабіць водступ
- сімвал новага радка (або абодва з CR і LF у залежнасці ад сістэмы)
- Канкатэнацыя спісу радкоў з новымі радкамі
- Разбіць радок на новыя радкі і спіс:
splitlines()
- Выдаліце і заменіце коды пераводу радкоў
- Вывад на друк без заканчэння новага радка
Стварыць радок, які змяшчае новы радок, вывесці на друк
сімвал новага радка (або абодва з CR і LF у залежнасці ад сістэмы)\n(НЧ),\r\n(CR+LF)
Устаўка кода пераводу радка ў радок прывядзе да новага радка.
s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3
s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3
Коды пераводу радкоў можна выкарыстоўваць наступнымі спосабамі. Некаторыя рэдактары дазваляюць выбраць код разрыву радка.
Macを含むUnix系 | \n (НЧ) |
Windows系 | \r\n (CR+LF) |
патройная цытата'',"""
Калі для заключэння радка выкарыстоўваюцца патройныя двукоссі, гэта будзе радок як ёсць, уключаючы новыя радкі.
s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Калі вы хочаце зрабіць водступ
Трайныя двукоссі таксама з’яўляюцца прабеламі ў радку, таму, калі вы паспрабуеце пісаць акуратна ў кодзе і водступы, як паказана ніжэй, будуць устаўлены непатрэбныя прабелы.
s = '''
Line1
Line2
Line3
'''
print(s)
#
# Line1
# Line2
# Line3
#
Выкарыстоўваючы зваротную касую рысу, каб ігнараваць новыя радкі ў кодзе і зрабіць яго працягам, яго можна запісаць наступным чынам
Абкладзеце кожны радок знакам ” або “” і дадайце сімвал новага радка ←n у канцы прапановы.
s = 'Line1\n'\
'Line2\n'\
'Line3'
print(s)
# Line1
# Line2
# Line3
Тут сінтаксіс заключаецца ў тым, што паслядоўныя радковыя літаралы злучаюцца. Больш падрабязную інфармацыю глядзіце ў наступным артыкуле.
- Падобныя артыкулы:Канкатэнацыя і злучэнне радкоў у Python (аператар +, далучэнне і г.д.)
Калі вы хочаце дадаць водступ у радку, проста дадайце прабел да радка ў кожным радку.
s = 'Line1\n'\
' Line2\n'\
' Line3'
print(s)
# Line1
# Line2
# Line3
Акрамя таго, паколькі разрывы радкоў можна свабодна рабіць у дужках, наступнае можна напісаць з дапамогай дужак замест зваротнай касой рысы.
s = ('Line1\n'
'Line2\n'
'Line3')
print(s)
# Line1
# Line2
# Line3
s = ('Line1\n'
' Line2\n'
' Line3')
print(s)
# Line1
# Line2
# Line3
Калі вы проста хочаце выраўнаваць пачатак радка, проста дадайце зваротную касую рысу да першага радка патройных двукоссяў.
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Канкатэнацыя спісу радкоў з новымі радкамі
Радковы метад join() можа быць выкарыстаны для канкатэнацыі спісу радкоў у адзін радок.
- Падобныя артыкулы:Канкатэнацыя і злучэнне радкоў у Python (аператар +, далучэнне і г.д.)
Калі join() выклікаецца з сімвала новага радка, кожны элемент радка злучаецца з новым радком.
l = ['Line1', 'Line2', 'Line3']
s_n = '\n'.join(l)
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
s_rn = '\r\n'.join(l)
print(s_rn)
# Line1
# Line2
# Line3
print(repr(s_rn))
# 'Line1\r\nLine2\r\nLine3'
Як і ў прыведзеным вышэй прыкладзе, убудаваная функцыя repr() можа быць выкарыстана для праверкі радкоў, якія ўтрымліваюць коды новага радка, як яны ёсць.
Разбіць радок на новыя радкі і спіс:splitlines()
Метад радка splitlines() можа быць выкарыстаны для падзелу радка на спіс новых радкоў.
splitlines() падзеліць любы з наступных кодаў разрыву радка. Вертыкальныя ўкладкі і разрывы старонак таксама падзеленыя.
\n
\r\n
\v
\f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']
Выдаліце і заменіце коды пераводу радкоў
Камбінуючы splitlines() і join(), можна выдаліць (выдаліць) коды новага радка з радка, які змяшчае новыя радкі, або замяніць іх іншымі радкамі.
s = 'Line1\nLine2\r\nLine3'
print(''.join(s.splitlines()))
# Line1Line2Line3
print(' '.join(s.splitlines()))
# Line1 Line2 Line3
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Таксама магчымая пакетная змена кодаў пераводу радкоў. Нават калі коды разрыву радка змешаныя або невядомыя, іх можна падзяліць з дапамогай splitlines(), а затым аб’яднаць з патрэбным кодам разрыву радка.
s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
Як згадвалася вышэй, splitlines() раздзяліць любы код новага радка, таму няма неабходнасці асабліва турбавацца аб кодах новага радка ў выпадку, калі метад аб’ядноўвае splitlines() і join().
Калі код новага радка зразумелы, яго таксама можна замяніць метадам replace(), які замяняе радок.
s = 'Line1\nLine2\nLine3'
print(s.replace('\n', ''))
# Line1Line2Line3
print(s.replace('\n', ','))
# Line1,Line2,Line3
Звярніце ўвагу, аднак, што ён не будзе працаваць, калі ён змяшчае іншыя коды пераводу радкоў, чым чакалася.
s = 'Line1\nLine2\r\nLine3'
s_error = s.replace('\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
s_error = s.replace('\r\n', ',')
print(s_error)
# Line1
# Line2,Line3
print(repr(s_error))
# 'Line1\nLine2,Line3'
Можна замяніць некалькі кодаў новага радка, паўтараючы replace(), але гэта не будзе працаваць, калі парадак няправільны, таму што «\r\n» змяшчае «\n». Апісаны вышэй метад, які спалучае splitlines() і join(), з’яўляецца больш бяспечным, таму што няма неабходнасці турбавацца аб кодах пераводу радкоў.
s = 'Line1\nLine2\r\nLine3'
print(s.replace('\r\n', ',').replace('\n', ','))
# Line1,Line2,Line3
s_error = s.replace('\n', ',').replace('\r\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Выкарыстоўвайце метад rstrip(), каб выдаліць коды пераводу радка ў канцы прапановы. rstrip() – гэта метад выдалення прабелаў (уключаючы перавод радка) у правым канцы радка.
s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb
print(s.rstrip() + 'bbb')
# aaabbb
Вывад на друк без заканчэння новага радка
Функцыя print() дадае канчатковы новы радок па змаўчанні. Такім чынам, калі print() выконваецца паслядоўна, кожны вынік будзе адлюстроўвацца ў новым радку.
print('a')
print('b')
print('c')
# a
# b
# c
Гэта адбываецца таму, што значэннем па змаўчанні аргументу end print(), які вызначае радок, які будзе дададзены ў канцы, з’яўляецца сімвал новага радка.
Калі вы не хочаце, каб у канцы быў новы радок, проста ўсталюйце ў канец аргумента пусты радок, і вынік будзе выведзены без пераводу радка ў канцы.
print('a', end='')
print('b', end='')
print('c', end='')
# abc
Канец аргументу можа быць любой радком.
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
Аднак, калі вы хочаце аб’яднаць радкі для вываду, лягчэй злучыць зыходныя радкі, чым пазначыць іх у канчатковым аргументе print(). Глядзіце наступны артыкул.
- Падобныя артыкулы:Канкатэнацыя і злучэнне радкоў у Python (аператар +, далучэнне і г.д.)