Barcha qo'llanmalar

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.

Python'da qator uzilishlarini chiqarishning 5 ta usuli

#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 r qo'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:

Yo'l xaritalariQo'llanmalarFAQYouTube

yo'lxaritaroadmap.shasosida

Hamjamiyat tomonidan yaratilgan yo'l xaritalari, eng yaxshi amaliyotlar, loyihalar, maqolalar, manbalar va yo'nalishlar — o'z yo'lingizni tanlash va kasbingizda o'sish uchun.

© yo'lxarita·Shartlar·Maxfiylik·

roadmap.sh

Barcha kontent roadmap.sh loyihasidan olingan (© Kamran Ahmed) va shaxsiy o'rganish uchun o'zbek tiliga tarjima qilinmoqda.

Qidiruv

Yo'l xaritalari, loyihalar va savollarni qidiring