Дараах нь Python дээр шинэ мөр агуулсан мөрүүдийн ажиллагааг тайлбарласан болно.
- Шинэ мөр агуулсан мөр үүсгэх, хэвлэх гаралт (дэлгэц)
- шинэ мөрийн тэмдэгт (системээс хамааран CR ба LF-ийн аль нэг нь эсвэл хоёулаа)
\n
(LF),\r\n
(CR+LF) - гурвалсан ишлэл
''
,"""
- Догол оруулахыг хүсвэл
- шинэ мөрийн тэмдэгт (системээс хамааран CR ба LF-ийн аль нэг нь эсвэл хоёулаа)
- Мөрийн жагсаалтыг шинэ мөртэй холбоно
- Мөрийг шинэ мөр болон жагсаалт болгон хуваа:
splitlines()
- Шугамын тэжээлийн кодыг устгаж, солих
- Гаралтыг шинэ мөргүйгээр хэвлэх
Шинэ мөр агуулсан мөр үүсгэх, гаралтыг хэвлэх
шинэ мөрийн тэмдэгт (системээс хамааран CR ба LF-ийн аль нэг нь эсвэл хоёулаа)\n(LF),\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 (LF) |
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'
Олон тооны шинэ мөрийн кодыг солих()-ыг давтах замаар солих боломжтой боловч “\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
Учир нь төгсгөлд нэмэх мөрийг зааж өгдөг print() төгсгөлийн аргументын анхдагч утга нь шинэ мөрийн тэмдэг юм.
Хэрэв та төгсгөлд шинэ мөр оруулахыг хүсэхгүй байгаа бол аргументын төгсгөлийг хоосон мөр болгон тохируулахад хангалттай бөгөөд гаралт нь төгсгөлд шинэ мөргүйгээр гарна.
print('a', end='')
print('b', end='')
print('c', end='')
# abc
Аргументийн төгсгөл нь ямар ч мөр байж болно.
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
Гэсэн хэдий ч, хэрэв та гаралтын мөрүүдийг холбохыг хүсч байвал тэдгээрийг print()-ийн төгсгөлийн аргумент дээр зааж өгөхөөс илүү анхны мөрүүдийг хооронд нь холбох нь илүү хялбар байдаг. Дараах нийтлэлийг үзнэ үү.
- Холбоотой нийтлэлүүд:Python дээр мөрүүдийг холбох, холбох (+ оператор, нэгдэх гэх мэт)