O'ZGARUVCHI -string()
O'zgaruvchi —kompyuter xotirasida ma'lum bir qiymatni saqlash uchun ajratilgan joy. Soddaroq qilib tushuntirsak, o'zgaruvchini quti, quti ichidagi narsani esa qiymat deb tasavvur qilish mumkin. Pythonda qiymatlar son, matn, ro'yxat va hokazo ko'rinishida bo'lishi mumkin.
O'zgaruvchilarni kerakli buyumlar (ma'lumotlat) saqlanadigan, nomlangan qutilarga o'xshatish mumkin
Quyidagi misolga e'tibor bering, biz 2 ta o'zgaruvchi yaratdik (ism va yosh) va ularga qiymatlar yukladik (Pythonda boshqa tillardagi ka'bi o'zgaruvchilarni avvaldan e'lon qilish yo'q):
ism = "Abdulloh" yosh = 25 print(ism) print(yosh)
O'zgaruvchi (variable) bunday deyilishiga sabab, uning qiymati istalgan vaqt o'zgartirilishi mumkin:
ism = "Abdulloh" print(ism) ism="Muhammad" print(ism)
Yuqoridagi misolda ism nomli o'zgaruvchiga avval Abdulloh keyin esa Muhammad qiymatlarini berdik.
O'zgaruvchilarga nom berishda quyidagi qoidalarga amal qiling:
- O'zgaruvchi nomi harf yoki pastki chiziq (_) bilan boshlanishi kerak
- O'zgaruvchi nomi raqam bilan boshlanishi mumkin emas
- O'zgaruvchi nomida faqatgina lotin alifbosi harflari (A-z), raqamlar (0-9) va pastki chiziq (_) qatnashishi mumkin
- O'zgaruvchi nomida bo'shliq (пробел) bo'lishi mumkin emas
- O'zgaruvchi nomida katta-kichik harflar turlicha talqin qilinadi (ism, ISM, va Ism uchta turli o'zgaruvchi)
- O'zgaruvchi nomini kichik harflar bilan yozing.
- O'zgaruvchi nomida 2 va undan ortiq so'z qatnashsa ularning orasini pastki chiziq (_) bilan ajrating (ism_sharif="Anvar Narzullaev")
- O'zgaruvchiga tushunarli nom bering (y=20 emas yosh=20, d="Korea" emas davlat = "Korea" va hokazo)
- Shuningdek o'zgaruvchilarga Pythonda ishlatiladigan funktsiyalar va maxsus kalit so'zlarning (keywords) nomini bermang. Kalit so'zlar ro'yhatini ko'rish uchun Spyder konsolida avval help() deb yozing va Enter tugmasini bosing. Keyin esa keywords deb kiritib, yana Enter bosing. Marhamat, ekraningizda Pythondagi maxsus kalit so'zlar ro'yhatini ko'ryapsiz:
Bu so'zlardan o'zgaruvchilarni nomlashda foydalanmang
STRING USTIDA AMALLAR
Matnlarni qo'shish operatori (+)
Matnlarni qo'shish uchun + operatoridan foydalanmiz:
ism = "Ne'matjon"
print("Mening ismim " + ism)Natija: Mening ismim Ne'matjon
ism = 'Nematjon' familiya = 'Shahobiddinov' print(ism + familiya)
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:
ism = 'Nematjon' familiya = 'Shahobiddinov' print(ism + ' ' + familiya) # ikki o'zgaruvchi orasiga bo'sh joy qo'shamiz
f-string
Ikki (va undan ko'p) matn ko'rinishidagi o'zgaruvchilarni birlashtirish uchun f-string usulidan f"{matn1} {matn2}" ham foydalansak bo'ladi:
ism = "Nematjon"
familiya = 'Shahobiddinov'
ism_sharif = f"{ism} {familiya}"
print(ism_sharif)Bu usul yordamida uzun matnlarni ham yasash mumkin:
ism = "Nematjon"
familiya = 'Shahobiddinov'
print(f"Salom, men{familiya} man. {ism} {familiya}!")Natija: Salom, men Shahobiddinov man. Nematjon Shahobiddinov
Mahsus belgilar
Matnga bo'shliq qo'shish uchun \t belgisidan, yangi qatordan boshlash uchun \n belgisidan foydalanamiz:
print('Hello World!')
print('Hello \tWorld!')
print('Hello \nWorld!')STRING METODLARI
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() metodlari
upper() metodi matndagi har bir harfni katta harfga o'zgartiradi.
ism = 'Nematjon'
familiya = 'Shahobiddinov'
ism_sharif = f"{ism} {familiya}"
print(ism_sharif.upper())Natija: NEMATJON SHAHOBIDDINOV
lower() metodi esa aksincha, har bir harfni kichik harfga o'zgartiradi.
ism = 'Nematjon'
familiya = 'Shahobiddinov'
ism_sharif = f"{ism} {familiya}"
print(ism_sharif.lower())Natija: nematjon shahobiddinov
title() va capitalize() metodlari
title() metodi matndagi har bir so'zning birinchi harfini katta harf bilan yozadi.
ism_sharif = 'james bond' print(ism_sharif.title())
capitalize() esa faqatgina eng birinchi so'zning birinchi harfini katta bilan yozadi.
ism_sharif = 'james bond' print(ism_sharif.capitalize())
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)
print('james bond'.upper())strip(), rstrip() va lstrip() metodlari
Bu 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
meva = " olma "
print("Men " + meva.lstrip() + " yaxshi ko'raman")
print("Men " + meva.rstrip() + " yaxshi ko'raman")
print("Men " + meva.strip() + " yaxshi ko'raman")
print("Men " + meva + " yaxshi ko'raman")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!
INPUT —FOYDALANUVCHI BILAN MULOQOT
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.
ism = input("Ismingiz nima?")
print("Assalom alaykum, " + ism)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:
Keling yuqoridagi kod va uning natijasini chiroyliroq ko'rinishga keltiramiz.
ism = input("Ismingiz nima?\n>>>") # Foydalanuvchi ismini yangi qatordan kiritadi
print("Assalom alaykum, " + ism.title())len() = funksiyasi belgilar(harf, sonlar, +-*...) larni soni aniqlashga qollaniladi!
AMALIYOT = uyga vazifa
Yuqoridagi o'zgaruvchilarni jamlab, quyidagi ko'rinishda konsolga chiqaring:
Bog'bon ko'chasi, Yashnobod mahallasi, Davlatobod tumani, Namangan 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
manzilga biz yuqorida o'rgangantitle(),upper(),lower(),capitalize()metodlarini qo'llab ko'ring.- Quyidagi o'zgaruvchilarni yarating:
- Yuqoridagi o'zgaruvchilarni f-string yordamida, yangi,
manzildeb nomlangan o'zgaruvchiga yuklang manzilga biz yuqorida o'rgangantitle(),upper(),lower(),capitalize()metodlarini qo'llab ko'ring.