Python'da yangi qator chiqarish: usullar, misollar va best practice'lar
Python'da yangi qator chiqarishning 5 ta usulini o'rganing: \n escape sequence, print() funksiyasining end/sep argument'lari va multiline string'lar, shuningdek best practice'lar.
Muallif: Kimberly Fessel
Ba'zan Python natijalaringizning hammasini birga yozishingiz mumkin, lekin ba'zan…
…shunchaki yangi qatordan chiqarishingiz kerak bo'ladi.
Ushbu maqolada Python'da yangi qator chiqarishning bir nechta turli usullarini ko'rib chiqamiz, jumladan turli escape sequence'lar, print() funksiyasining argument'lari va multiline string'lar. Sizni fayl yo'llariga tasodifan escape character'lar kiritib qo'yishdan ogohlantiramiz, shuningdek faylga bir necha qator matnli ma'lumotni qanday yozishni o'rganasiz. O'qishda davom eting — sizni yangi qatordagi fikrlash kutmoqda.
Tezkor javob: Python'da yangi qator chiqarish
print statement'laringizga newline character qo'shishning eng tez usuli — \n escape sequence. ("n" harfi "newline" so'zini bildiradi.) Uni chiqarayotgan string'ingizda yangi qator paydo bo'lishi kerak bo'lgan har qanday joyga qo'ying.
print("Hi there!\nBye!")
# Expected result:
# Hi there!
# Bye!
\n yordamida bir nechta newline character qo'shishingiz, shuningdek ularni string'ingizning boshiga yoki oxiriga qo'yishingiz mumkin:
print("\nShopping List:\n\n- apples\n- cheese\n- bread\n")
# Expected result:
#
# Shopping List:
#
# - apples
# - cheese
# - bread
#
Python'da newline character nima?
Python dasturlashda yangi qator yaratganingizda string'ingizga bitta belgi — newline character qo'shasiz. Matn chiqarishda buni \n yordamida qilasiz. U ikki qismdan iborat:
-
\: escape character; u Python'ga maxsus narsa kelayotganini bildiradi.
-
n: newline
Birgalikda \n Python'ga newline character yaratmoqchi, ya'ni keyingi qatorga o'tmoqchi ekaningizni bildiradi.
Escape character (\) va uchlik: \n, \r va \r\n
Backslash (\) Python'da maxsus ma'noga ega. U escape character hisoblanadi. Uni qachon ishlatsangiz, Python undan keyin keladigan narsani oddiy string belgisi sifatida emas, escape sequence sifatida qabul qilish kerakligini biladi. Quyida shunday maxsus Python buyruqlaridan bir nechtasi va ularning ma'nosi keltirilgan:
| Backslash sequence | Nomi | Vazifasi |
|---|---|---|
| \n | Newline | Qator uzilishi |
| \t | Tab | Gorizontal bo'shliq |
| \', \" | Quote | String'ga yakka yoki qo'sh tirnoq qo'yish |
| \r | Carriage Return | Kursorni qator boshiga o'tkazish |
| \r\n | Windows Line Ending | Qator uzilishi |
Siz \n'ni allaqachon ko'rdingiz, ammo qatorlarga tegishli yana ikkita backslash sequence bor: \r va \r\n.
Python'da \r bilan ifodalanadigan carriage return kursoringizni joriy qatorning boshiga o'tkazadi. Uning o'zi sizni ikkinchi qatorga tushirmaydi; aksincha, siz o'sha qatorda qolasiz. \r bo'lgan string ustida print() funksiyasini chaqirish, quyidagi kodda ko'rib turganingizdek, bitta qator ichida statement'ingizning bir qismini amalda ustidan yozib yuborishi mumkin:
print("Hi there!\rBye!")
# Expected result:
# Bye!here!
String o'rtasida carriage return kursoringizni qator boshiga qaytaradi va matnning dastlabki to'rtta belgisini ustidan yozadi. Yangi qatorlar uchun \r'ni yolg'iz ishlatishga urinmang.
Biroq siz \r\n'ni uchratishingiz mumkin: u carriage return'ni newline character bilan juftlaydi. U sizni qator boshiga qaytaradi, so'ng keyingi qatorga tushiradi. Ko'pchilik zamonaviy tizimlarda bu \n bilan bir xil ko'rinadigan qator uzilishini hosil qiladi, ammo Windows operatsion tizimida legacy fayllar bilan moslik uchun ba'zan zarur bo'ladi.
print("Hi there!\r\nBye!")
# Expected result:
# Hi there!
# Bye!
Python'da qator uzilishlarini chiqarishning 5 ta usuli
Ehtiyojlaringizga qarab, Python'da newline'larni boshqarishning bir nechta turli usuli mavjud. Bu yerda eng ommaboplarini ko'rib chiqamiz.

#1: \n backslash sequence'dan foydalanish
Python'da \n — alohida string'larga qator uzilishlarini qo'shishning eng keng tarqalgan usuli. Newline character'lar yaratish uchun ularni xohlagancha, alohida-alohida yoki ketma-ket qo'shing.
print("Status Report:\n\n✓ Data loaded\n✓ Missing values handled\n✓ Model trained\n")
# Expected result:
# Status Report:
#
# ✓ Data loaded
# ✓ Missing values handled
# ✓ Model trained
#2: Avtomatik yangi qatorlar uchun print()'ni chaqirish
Shuningdek, Python'dagi print() funksiyasi har bir statement oxirida avtomatik ravishda bitta yangi qator yaratishini payqaysiz. Masalan, quyidagi koddagi birinchi print() "Hi there!"ni chiqaradi, so'ng ikkinchi qatorga o'tadi. Ikkinchi print() funksiyasi "Bye!"ni console'ga chiqaradi va kursorni yana keyingi qatorga o'tkazadi:
print("Hi there!")
print("Bye!")
# Expected result:
# Hi there!
# Bye!
Bu foydali xatti-harakat matnli ma'lumotni avvalgi natijalar ustidan qayta-qayta chiqarib qo'ymasligingizni anglatadi, ammo agar print statement'ingiz oxirida default yangi qator bo'lishini istamaydigan holat yuzaga kelsa, print()end argument'ini sozlashingiz mumkin.
#3: print()'dagi end parametridan foydalanish
Ehtimol, siz Python'da kamida bitta print statement'ni bajargansiz, lekin print() funksiyasi argument'lar qabul qilishini bilarmidingiz? end deb ataladigan foydali keyword argument'lardan biri Python natijangiz oxiriga nima qo'shishini boshqaradi. Default holatda u \n orqali newline character qo'shadi, ammo print statement'laringiz orasida qator tashlab ketishni istamasangiz, end parametriga bo'sh string yoki bitta probel berishingiz mumkin.
print("Hi there!", end="") #end parameter is an empty string
print("Bye!")
# Expected result:
# Hi there!Bye!
Shuningdek, print() natijalari orasiga bittadan ko'p yangi qator qo'shishni ham tanlashingiz mumkin:
print("Hi there!", end="\n\n")
print("Bye!")
# Expected result:
# Hi there!
#
# Bye!
#4: Bir nechta qator uchun print()'dagi sep parametrini o'zgartirish
"separator" so'zidan olingan sep deb ataladigan ikkinchi argument print() funksiyasiga vergul bilan ajratilgan qiymatlar yoki o'zgaruvchilarni berganingizda elementlar orasiga nima qo'yilishini belgilaydi. Bu argument'ning default qiymati bitta probel, ammo elementlaringizni alohida qatorlarda chiqarish uchun uni \n'ga almashtirishingiz mumkin:
print("Hi there!", "Bye!", sep="\n")
# Expected result:
# Hi there!
# Bye!
#5: Uchtalik tirnoqli multiline string'lardan foydalanish
Agar bir nechta qatorga yoyib chiqarmoqchi bo'lgan matn blokingiz bo'lsa, quyidagi kod misolidagidek uni to'liq uchtalik tirnoq ichiga olishingiz mumkin:
print("""Hi Kim,
Just a quick note to let you know your report is ready.
Thanks,
The Data Team""")
# Expected result:
# Hi Kim,
#
# Just a quick note to let you know your report is ready.
#
# Thanks,
# The Data Team
Uchtalik tirnoqli multiline string'lar ichida newline character'lar yaratish uchun sizga \n kerak emas. Python whitespace'ni, jumladan yangi qatorlarni ham saqlaydi va matnni aynan yozilganidek chiqaradi.
Python skriptlari boshida tushuntiruvchi matn sifatida docstring'larni o'rab turgan uchtalik tirnoqni tez-tez ko'rasiz. Ular email'lar, xabarlar yoki shablonlar kabi uzunroq formatlangan matnlarni chiqarish uchun ham foydali.
Yangi qatorlar uchun taqqoslash jadvali
| Xususiyat | Turi | Qayerda ishlatiladi | Nima qiladi | Qo'llanish holati |
|---|---|---|---|---|
| \n | Escape sequence | String'lar ichida | Newline character qo'yadi | String'larda umumiy maqsadli yangi qatorlar |
| \r\n | Escape sequence juftligi | String'lar ichida | Carriage return + newline character | Windows matn fayllari, legacy bilan moslik |
| print(), default | Funksiya | Python kodida | Natijadan keyin avtomatik ravishda newline character qo'shadi | Oddiy console'ga chiqarish |
| end= | Funksiya argument'i | print() ichida | Oxirida nima chiqarilishini boshqaradi (default \n) | Qator oxirlarini moslashtirish yoki yangi qatorlarni o'chirish |
| sep= | Funksiya argument'i | print() ichida | Bir nechta qiymat orasidagi ajratuvchini boshqaradi (default bitta probel) | Chiqariladigan bir nechta qiymatni formatlash |
| """uchtalik tirnoq""" | String literal | String ta'rifi | Haqiqiy qator uzilishlari bilan multiline string yaratadi | Email'lar, xabarlar, shablonlar |
Keng tarqalgan xatolar va best practice'lar
Qator uzilishlarini qo'shishning shuncha ko'p usuli bor ekan, tafsilotlarga alohida e'tibor talab qiladigan bir nechta joy albatta bo'ladi. Yangi qatorlar qo'shayotganda quyidagi "tuzoq"lardan ehtiyot bo'ling.
Fayl yo'llaridagi escape sequence xatolarini tuzatish
Python string ichidagi backslash'ni (\) escape sequence boshlanishi deb talqin qiladi. Agar Windows operatsion tizimidan foydalanib, kompyuteringizdagi fayllarni o'qiyotgan bo'lsangiz, bu muammoga alohida e'tibor bering, chunki Windows fayl yo'llari odatda backslash'lardan foydalanadi. Quyidagini ko'rib chiqing:
'C:\new_folder\text.txt'
Ko'zlangan yo'l — new_folder papkasidagi text.txt fayli, ammo Python \n'ni newline, \t'ni esa tab deb ko'radi.
Bunday muammolarni hal qilish uchun quyidagilardan birini qiling:
-
String'dan bevosita oldin
rqo'shing. Bu Python'dan matnni raw string sifatida o'qishni so'raydi:r'C:\new_folder\text.txt' -
Qo'lda qo'shimcha backslash qo'shib, backslash'larni escape qiling:
'C:\\new_folder\\text.txt' -
Python uchun qulay bo'lgan forward slash'larga o'ting:
'C:/new_folder/text.txt'
Uchtalik tirnoqli string'lardagi ortiqcha qatorlar
Uchtalik tirnoqli string'lar string'ni aynan siz yozgandek formatlash imkonini beradi. Faqat uchtalik tirnoq ichida, boshida yoki oxirida ortiqcha qator uzilishlari qo'shmaganingizga ishonch hosil qiling, aks holda kutilmagan bo'sh qatorlar paydo bo'lishi mumkin.
print("""
Hi Kim,
Do you like these extra blank lines?
Your friend,
Python
""")
# Expected result:
#
# Hi Kim,
#
# Do you like these extra blank lines?
#
# Your friend,
# Python
#
Console'da xabardan oldin va keyin ortiqcha qatorlar bor, chunki string literal o'zining alohida qatorlarida boshlanib, tugaydi. Bunga yo'l qo'ymaslik uchun matningiz ochuvchi tirnoqlardan darhol keyin boshlanishi va yopuvchi tirnoqlardan bevosita oldin tugashiga ishonch hosil qiling.
Xulosa
Python'da yangi qatorlarni chiqarishning asosiy usuli — string'laringizga newline character'lar qo'shish uchun \n'dan foydalanish. Shuningdek, print() funksiyasi bilan ham yangi qatorlar yaratishingiz mumkin: avtomatik ravishda yoki uning end va sep parametrlarini o'zgartirish orqali. Uchtalik tirnoqli string'lar ham bir nechta qatorga imkon beradi; ular ayniqsa tuzilmali formatdagi uzunroq xabarlarni chiqarish uchun foydali.
Qaysi usulni tanlamang, AI Tutor bilan muloqot qilib, u haqida ko'proq bilib olishingiz mumkin. Suhbatni boshlash uchun ushbu prompt'ni sinab ko'ring: