#05 STRING (MATN)
STRING ma'lumot turi va uning ustida amallar
Last updated
STRING ma'lumot turi va uning ustida amallar
Last updated
STRING (matn) —Pythondagi eng mashxur ma'lumot turlaridan biri. Avvalgi darsda ko'rganimizdek, o'zgaruvchiga matn yuklash uchun matn qo'shtirnoq (" "
) yoki birtirnoq (' '
) ichida yozilishi kerak.
Pythonda matnlar Unicode jadvalidagi istalgan belgilaridan iborat bo'lishi mumkin (jumladan o'zbek, arab, hind, xitoy alifbosidagi harflar yoki turli emoji-smayliklar).
Natija: Men yangi 📱 oldim
+
)Matnlarni qo'shish uchun +
operatoridan foydalanmiz:
Natija: Mening ismim Ahmad
Natija: AhadQayum
Yuqoridagi kodda ism va familiya orasiga bo'shliq belgisini qo'shmaganimiz uchun ikki matn qo'shilib yozildi. Buni to'g'rilash uchun, 3-qatorni quyidagicha yozamiz:
Natija: Ahad Qayum
Ikki (va undan ko'p) matn ko'rinishidagi o'zgaruvchilarni birlashtirish uchun f-string usulidan f"{matn1} {matn2}"
ham foydalansak bo'ladi:
Bu usul yordamida uzun matnlarni ham yasash mumkin:
Natija: Salom, mening ismim Bond. James Bond!
Matnga bo'shliq qo'shish uchun \t
belgisidan, yangi qatordan boshlash uchun \n
belgisidan foydalanamiz:
Natija:
Hello World!
Hello World!
Hello
World!
Pythonda string ustida amalga oshirish mumkin bo'lgan tayyor amallar to'plami mavjud. Bunday amallar to'plami metodlar deb ataladi.
Metodlarni qo'llash uchun metod nomi matndan so'ng .metod_nomi()
ko'rinishida yoziladi. Keling shunday metodlarning ba'zilari bilan tanishaylik.
upper()
va lower()
metodlariupper()
metodi matndagi har bir harfni katta harfga o'zgartiradi.
Natija: AHAD QAYUM
lower()
metodi esa aksincha, har bir harfni kichik harfga o'zgartiradi.
Natija: ahad qayum
title()
va capitalize()
metodlarititle()
metodi matndagi har bir so'zning birinchi harfini katta harf bilan yozadi.
Natija: James Bond
capitalize()
esa faqatgina eng birinchi so'zning birinchi harfini katta bilan yozadi.
Natija: James bond
Metodlarni faqat o'zgaruvchilarga emas, balki to'g'ridan-to'g'ri matnga ham qo'llash mumkin (aslida o'zgaruvchi ham matnning (yoki boshqa ma'lumotning) manzili xolos)
Natija: JAMES BOND
strip()
, rstrip()
va lstrip()
metodlariBu metodlar matnning boshi va oxiridagi bo'sh joylarni olib tashlaydi.
lstrip()
— matn boshidagi bo'shliqni,
rstrip()
– matn oxiridagi bo'shliqni,
strip()
— matn boshi va oxiridagi bo'shliqlarni olib tashlaydi
Men olma yaxshi ko'raman
Men olma yaxshi ko'raman
Men olma yaxshi ko'raman
Men olma yaxshi ko'raman
Matnlar bilan ishlaydigan metodlar ko'p. Ularning ba'zilari bilan kelajakda yana tanishamiz, to'liq ro'yhatni esa quyidagi sahifada ko'rishingiz mumkin.
Metodlar o'zgaruvchi ichidagi asl matnni o'zgartirmaydi!
Shu paytgacha biz o'zgaruvchilarning qiymatini dasturning ichida berayotgan edik. Keling endi qiymatni o'zimiz emas, balki dastur foydalanuvchilariga kiritish imkonini beramiz.
Buning uchun input()
funktsyasidan foydalanamiz.
Yuqoridagi dastur, avval 1-qatorda foydalanuvchining ismini so'raydi. Foydalanuvchi ismini kiritib, Enter tugmasini bosgach, foydalanuvchi kiritgan matnism
degan o'zgaruvchiga yuklanadi va dasturining 2-qatori bajaradi:
Natija:
Ismingiz nima?anvar
Assalom alaykum, anvar
Keling yuqoridagi kod va uning natijasini chiroyliroq ko'rinishga keltiramiz.
Quyidagi mashqlarni bajaring:
Quyidagi o'zgaruvchilarni yarating:
kocha="Bog'bon"
mahalla="Sog'bon"
tuman="Bodomzor"
viloyat="Samarqand"
Yuqoridagi o'zgaruvchilarni jamlab, quyidagi ko'rinishda konsolga chiqaring:
Bog'bon ko'chasi, Sog'bon mahallasi, Bodomzor tumani, Samarqand viloyati
Yuqoridagi o'zgaruvchilarning (kocha
, mahalla
, tuman
, viloyat
) qiymatini foydalanuvchidan so'rang. Va avvalgi mashqni takrorlang.
Yuqoridagi matnni konsolga chiqarishda har bir verguldan keyin yangi qatordan yozing
Yuqoridagi matnni f-string yordamida, yangi, manzil
deb nomlangan o'zgaruvchiga yuklang
manzil
ga biz yuqorida o'rgangan title()
, upper()
, lower()
, capitalize()
metodlarini qo'llab ko'ring.
Quyidagi o'zgaruvchilarni yarating:
kocha="Bog'bon"
mahalla="Sog'bon"
tuman="Bodomzor"
viloyat="Samarqand"
Yuqoridagi o'zgaruvchilarni jamlab, quyidagi ko'rinishda konsolga chiqaring:
Bog'bon ko'chasi, Sog'bon mahallasi, Bodomzor tumani, Samarqand viloyati
Yuqoridagi o'zgaruvchilarning (kocha
, mahalla
, tuman
, viloyat
) qiymatini foydalanuvchidan so'rang. Va avvalgi mashqni takrorlang.
Yuqoridagi matnni konsolga chiqarishda har bir verguldan keyin yangi qatordan yozing
Yuqoridagi o'zgaruvchilarni f-string yordamida, yangi, manzil
deb nomlangan o'zgaruvchiga yuklang
manzil
ga biz yuqorida o'rgangan title()
, upper()
, lower()
, capitalize()
metodlarini qo'llab ko'ring.