Aşağıdakılar Python-da yeni sətirləri ehtiva edən sətirlərin işini təsvir edir.
- Yeni sətirlərdən ibarət sətir yaradın, çap çıxışı (ekran)
- yeni sətir simvolu (sistemdən asılı olaraq CR və LF-nin hər ikisi və ya hər ikisi)
\n
(LF),\r\n
(CR+LF) - üçlü sitat
''
,"""
- Əgər abzas etmək istəyirsinizsə
- yeni sətir simvolu (sistemdən asılı olaraq CR və LF-nin hər ikisi və ya hər ikisi)
- Sətirlərin siyahısını yeni sətirlərlə birləşdirin
- Sətri yeni sətirlərə və siyahıya bölün:
splitlines()
- Sətir axını kodlarını çıxarın və dəyişdirin
- Sonda yeni sətir olmadan çıxışı çap edin
Yeni sətirlərdən ibarət sətir yaradın, çıxışı çap edin
yeni sətir simvolu (sistemdən asılı olaraq CR və LF-nin hər ikisi və ya hər ikisi)\n(LF),\r\n(CR+LF)
Sətir axını kodunu sətirə daxil etmək yeni sətirlə nəticələnəcək.
s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3
s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3
Xətt axını kodlarından aşağıdakı yollarla istifadə edilə bilər. Bəzi redaktorlar sətir kəsilməsi kodunu seçməyə imkan verir.
Macを含むUnix系 | \n (LF) |
Windows系 | \r\n (CR+LF) |
üçlü sitat'',"""
Sətri əlavə etmək üçün üçlü sitatdan istifadə edilərsə, o, yeni sətirlər də daxil olmaqla olduğu kimi sətir olacaqdır.
s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Əgər abzas etmək istəyirsinizsə
Üçlü dırnaq işarələri də sətirdəki boşluqlardır, ona görə də kodda səliqəli yazmağa və aşağıda göstərildiyi kimi abzas etməyə çalışsanız, lazımsız boşluqlar daxil ediləcək.
s = '''
Line1
Line2
Line3
'''
print(s)
#
# Line1
# Line2
# Line3
#
Koddakı yeni sətirləri görməməzlikdən gəlmək və onu davam sətirinə çevirmək üçün tərs kəsik işarəsindən istifadə etməklə, aşağıdakı kimi yazıla bilər.
Hər sətri ” və ya “” ilə bağlayın və cümlənin sonuna yeni sətir simvolu ←n əlavə edin.
s = 'Line1\n'\
'Line2\n'\
'Line3'
print(s)
# Line1
# Line2
# Line3
Burada sintaksis ondan ibarətdir ki, ardıcıl sətir literalları birləşdirilir. Təfərrüatlar üçün aşağıdakı məqaləyə baxın.
Əgər sətirdə abzas əlavə etmək istəyirsinizsə, sadəcə olaraq hər sətirdə sətirə boşluq əlavə edin.
s = 'Line1\n'\
' Line2\n'\
' Line3'
print(s)
# Line1
# Line2
# Line3
Bundan əlavə, sətir kəsmələri mötərizədə sərbəst şəkildə edilə bildiyi üçün, əks kəsiklər əvəzinə mötərizələrdən istifadə etməklə aşağıdakılar yazıla bilər.
s = ('Line1\n'
'Line2\n'
'Line3')
print(s)
# Line1
# Line2
# Line3
s = ('Line1\n'
' Line2\n'
' Line3')
print(s)
# Line1
# Line2
# Line3
Əgər siz sadəcə sətrin əvvəlini hizalamaq istəyirsinizsə, üçlü sitatların ilk sətirinə tərs xətt əlavə edin.
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Sətirlərin siyahısını yeni sətirlərlə birləşdirin
Sətirlərin siyahısını bir sətirdə birləşdirmək üçün join() string metodundan istifadə edilə bilər.
join() yeni sətir simvolundan çağırıldıqda, hər bir sətir elementi yeni sətirlə birləşdirilir.
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'
Yuxarıdakı nümunədə olduğu kimi, daxili repr() funksiyası yeni sətir kodları olan sətirləri olduğu kimi yoxlamaq üçün istifadə edilə bilər.
Sətri yeni sətirlərə və siyahıya bölün:splitlines()
Splitlines() sətir metodu sətri yeni sətirlər siyahısına bölmək üçün istifadə edilə bilər.
splitlines() aşağıdakı sətir kəsmə kodlarından hər hansı birini böləcək. Şaquli nişanlar və səhifə fasilələri də bölünür.
\n
\r\n
\v
\f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']
Sətir axını kodlarını çıxarın və dəyişdirin
Splitlines() və join() funksiyalarını birləşdirərək yeni sətirləri ehtiva edən sətirdən yeni sətir kodlarını silmək (çıxarmaq) və ya onları başqa sətirlərlə əvəz etmək mümkündür.
s = 'Line1\nLine2\r\nLine3'
print(''.join(s.splitlines()))
# Line1Line2Line3
print(' '.join(s.splitlines()))
# Line1 Line2 Line3
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Xətt axını kodlarının toplu dəyişdirilməsi də mümkündür. Sətir kəsmə kodları qarışıq və ya naməlum olsa belə, onları splitlines() istifadə edərək bölmək və sonra istədiyiniz sətir kəsmə kodu ilə birləşdirə bilərsiniz.
s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
Yuxarıda qeyd edildiyi kimi, splitlines() ya yeni sətir kodunu böləcək, ona görə də splitlines() və join() birləşdirən metodda yeni sətir kodları ilə bağlı xüsusi narahatlığa ehtiyac yoxdur.
Əgər yeni sətir kodu aydındırsa, onu sətri əvəz edən replace() metodu ilə də əvəz etmək olar.
s = 'Line1\nLine2\nLine3'
print(s.replace('\n', ''))
# Line1Line2Line3
print(s.replace('\n', ','))
# Line1,Line2,Line3
Nəzərə alın ki, o, gözləniləndən fərqli sətir lenti kodlarını ehtiva edərsə işləməyəcək.
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() funksiyasını təkrarlamaqla bir neçə yeni sətir kodunu əvəz etmək mümkündür, lakin “\r\n” tərkibində “\n” olduğu üçün sifariş səhv olarsa, bu işləməyəcək. Yuxarıda təsvir edilən splitlines() və join() metodunu birləşdirən üsul daha təhlükəsizdir, çünki sətir axını kodları ilə bağlı narahat olmağa ehtiyac yoxdur.
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
Cümlənin sonundakı sətir axını kodlarını silmək üçün rstrip() metodundan istifadə edin. rstrip() sətrin sağ sonundakı boşluq simvollarını (sətir lentləri daxil olmaqla) silmək üsuludur.
s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb
print(s.rstrip() + 'bbb')
# aaabbb
Sonda yeni sətir olmadan çıxışı çap edin
print() funksiyası defolt olaraq arxada gələn yeni sətir əlavə edir. Buna görə də, əgər print() ardıcıl olaraq yerinə yetirilərsə, hər bir çıxış nəticəsi yeni sətirdə göstərilir.
print('a')
print('b')
print('c')
# a
# b
# c
Bunun səbəbi, sonuna əlavə olunacaq sətri təyin edən print() sonu arqumentinin standart dəyərinin yeni sətir simvoludur.
Əgər sonunda yeni sətir istəmirsinizsə, sadəcə olaraq arqumentin sonunu boş sətirə təyin edin və nəticə sonunda yeni sətir olmadan çıxacaq.
print('a', end='')
print('b', end='')
print('c', end='')
# abc
Arqumentin sonu istənilən sətir ola bilər.
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
Bununla belə, çıxış üçün sətirləri birləşdirmək istəyirsinizsə, orijinal sətirləri birləşdirmək onları print() funksiyasının son arqumentində göstərməkdən daha asandır. Aşağıdakı məqaləyə baxın.