Mundarija[Yashirish][Show]
Crash kursidagi uchinchi ma'ruzaga xush kelibsiz.
Ushbu ma'ruzada biz Pythonda strings bilan ishlashni o'rganamiz. Popkorningizni tayyorlang va mahkam o'tiring.
Stringlar
Birinchidan, keling, kotirovkalar haqida gapiraylik va ular Pythonda olib kelishi mumkin bo'lgan chalkashliklarni bartaraf qilamiz.
Yuqorida aytib o'tganimizdek, biz Python-da funksiyadan keyin ham bitta, ham qo'sh tirnoqlardan foydalanishimiz mumkin. Buning o'ziga xos yordami mavjud. Aytaylik, siz shunga o'xshash narsani chop qilmoqchisiz.
print('This is Shahbaz's computer')
Endi yuqoridagi iborada ikkinchi qo'shtirnoqdan keyingi "Shahbaz" dagi kabi hamma narsa python tarjimoni tomonidan noma'lum bo'lib qoladi, chunki Python ikkinchi qo'shtirnoqni satr oxiri sifatida qabul qiladi. Bunday holda, qatorni quyidagicha e'lon qilish uchun qo'sh tirnoqlardan foydalanmoqchisiz:
print("This is Shahbaz's computer")
Buni boshqa yo'l bilan ham qo'llash mumkin va agar satr ichida qo'sh tirnoq mavjud bo'lsa, biz bitta tirnoqdan foydalanishimiz mumkin. masalan
print('This "computer" belongs to Shahbaz')
Endi siz bir nechta satrlarni qamrab oluvchi satrni chop qilmoqchi bo'lsangiz, satrni qo'shish uchun uch qo'shtirnoqdan foydalanishingiz kerak bo'ladi. Ushbu qo'shtirnoqlar qatorning mazmuniga qarab bitta yoki ikkita bo'lishi mumkin. Masalan:
Aytaylik, siz satrdan ma'lum bir belgini chop qilmoqchisiz. Buni qanday qilgan bo'lardingiz?
Python tarjimoni satrdagi belgilarni quyidagicha indekslaydi:
Terminalda ko'rib turganingizdek, faqat "h" chop etilgan. Buning sababi shundaki, biz terminalda chop etish uchun satrimizda faqat uchinchi belgini tanladik va o'zgaruvchidan keyin kvadrat qavs ichiga 3 yozamiz. Python tarjimoni katta satrlarni soddalashtirish uchun salbiy belgilarni ham indekslaydi. Ya'ni, "-1" satrdagi oxirgi raqam bo'ladi va hokazo. Bo'shliqlar indekslanmaganligini unutmang, bu yuqoridagi satrda faqat 21 ta indekslangan bo'sh joy bo'ladi.
Shuningdek, qatordan bir qator belgilarni tanlashingiz mumkin. masalan
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Ushbu dastur terminalda "Pyt" ni chop etadi. 3-indeks bundan mustasno.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
Xuddi shu tarzda, agar biz yakuniy indeksni bermasak, python birinchi indeksdan keyin butun satrni chop etadi. Ushbu dasturning chiqishi "Thon Course by Shahbaz" bo'ladi. Bu aksincha amal qiladi. ya'ni birinchi indeksni o'tkazib yuborsak, boshidan oxirgi belgilangan indeksgacha butun satr chop etiladi.
Indekslash qavslarida faqat ikki nuqta bo'lgan dastur terminalda to'liq qatorni beradi.
Mashq qilish
Mana qiziqarli mashq
[1:-1] indeks oralig'ini aniqlaydigan dastur yozing. Sizningcha, natija qanday bo'ladi. O'zingiz sinab ko'ring.
Formatlangan satrlar
Formatlangan satrlar, ayniqsa, o'zgaruvchilaringiz bilan ba'zi matnlarni dinamik ravishda yaratadigan holatlarda foydalidir. Men sizga ko'rsataman.
Aytaylik, bizda ikkita o'zgaruvchi bor: ism va familiya.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Endi biz terminalda "Shahbaz [Bhatti] - kodlovchi" ni chop qilmoqchimiz. Buni qanday qilgan bo'lardik? Biz shunga o'xshash uchinchi o'zgaruvchini kiritamiz:
message = 'first_name + ' [' + last_name + '] is a coder'
Endi biz ushbu dasturni chop etsak va ishga tushirsak, terminalda "Shahbaz [Bhatti] is a coder" ni olamiz.
Garchi bu yondashuv mukammal ishlayotgan bo'lsa-da, bu ideal emas, chunki matnimiz murakkablashgani sari natijani tasavvur qilish qiyinlashadi. Bu erda biz formatlangan satrlardan foydalanamiz, ular chiqishni vizualizatsiya qilishni osonlashtiradi.
Uchinchi o'zgaruvchi "xabar" ni o'zgartiramiz va formatlangan qatorni kiritamiz. Formatlangan satrlarni aniqlash uchun satrlaringizni "f" bilan oldingizga qo'ying va keyin qiymatlarni satrlarga dinamik ravishda kiritish uchun jingalak qavslardan foydalaning. Bizning dasturimiz quyidagicha ko'rinadi:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Formatlangan satrlarni aniqlash uchun satrlaringizni F harfi bilan oldindan belgilang va keyin qiymatlarni satrlarga dinamik ravishda kiritish uchun jingalak qavslardan foydalaning.
Python Strings bilan qilishingiz mumkin bo'lgan ajoyib narsalar
Men sizga Python satrlari bilan qilishingiz mumkin bo'lgan ajoyib narsalarni ko'rsataman.
1. Satrdagi belgilar soni
Shunday qilib, o'zgaruvchini aniqlashdan boshlaylik:
message = 'Shahbaz Bhatti is a Coder '
Endi yuqoridagi satrdagi belgilar sonini aniqlamoqchi bo'lsam, Python-da o'rnatilgan "len" funktsiyasi mavjud. O'zgaruvchini shu kabi funksiya bilan chop eting
print(len(message))
Bu, ayniqsa, foydalanuvchidan ma'lumot olganingizda foydalidir. Misol uchun, siz onlayn shaklni to'ldirganingizda, har bir kiritish maydoni ko'pincha chegaraga ega ekanligini payqadingiz. Misol uchun, sizning ismingiz uchun 50 ta belgi bo'lishi mumkin, shuning uchun ushbu "len" funktsiyasidan foydalanib, biz kiritish maydonidagi belgilar soniga cheklov qo'yishimiz mumkin.
2. Satrdagi belgilarni katta yoki kichik harflarga aylantirish
Biz nuqta operatori orqali satr bilan bog'liq funksiyalarga kirishimiz mumkin. O'zgaruvchining nomini yozishingiz va uning oldiga nuqta qo'yish orqali barcha shu kabi funksiyalar ro'yxatini ko'rishingiz mumkin.
Endi aniqroq aytganda, siz ushbu funktsiyalarni usullar deb atayapsiz, bu biz kelajakda ko'rib chiqmoqchi bo'lgan ob'ektga yo'naltirilgan dasturlash atamasi, ammo hozircha men sizdan olib qo'ymoqchi bo'lgan narsa, bu funksiya qachon boshqa narsaga tegishli bo‘lsa yoki qandaydir ob’ektga xos bo‘lsa, biz bu funktsiyani metod deb ataymiz. Bunday holda, biz satrni bosh harfga aylantirish uchun "yuqori" usulidan foydalanamiz.
Bu funksiya satrga xos bo'lganligi uchun biz buni usul deb ataymiz. Bundan farqli o'laroq, "len" va "chop etish" umumiy maqsadli funktsiyalar bo'lib, ular satrlarga yoki raqamlarga yoki boshqa turdagi ob'ektlarga tegishli emas. Bu funktsiya va usul o'rtasidagi asosiy farq.
Endi buni chop qilaylik.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
Va biz satrimizni katta harf bilan olganimizni ko'rishimiz mumkin. Xuddi shunday, bizda satrni kichik harfga aylantirish uchun "pastki" usul mavjud. Shuningdek, satrning har bir so'zini katta harf bilan yozish uchun "title" usulidan foydalanishingiz mumkin.
E'tibor bering, usul bizning asl satrimizni o'zgartirmaydi yoki o'zgartirmaydi. Aslida, u yangi satr yaratadi va uni qaytaradi.
3. Satrdagi belgilar ketma-ketligini toping
Satrdagi ma'lum bir belgi indeksini topishning boshqa usulini sinab ko'raylik.
turi:
message.find('b')
bir xil o'zgaruvchidan keyin va uni chop eting. U bu holda 4 bo'lgan satrda "b" harfining birinchi marta paydo bo'lgan indeksini chop etadi.
Shuni esda tutingki, bu usul katta-kichik harflarga sezgir va agar satrda belgi topilmasa, u -1 ni qaytaradi. Bundan tashqari, belgilar ketma-ketligi uchun ham foydalanish mumkin.
Masalan, quyidagi dastur:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
“koder” ketma-ketligi 20 indeksdan boshlangani uchun “20” qiymatini qaytaradi.
4. Satrdagi belgini almashtirish
Siz satrdagi belgi yoki belgilar ketma-ketligini almashtirish uchun "almashtirish" usulidan foydalanishingiz mumkin. Keling, buni amalda ko'rib chiqaylik.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Ushbu dastur "koder" so'zini "dasturchi" so'ziga almashtiradi va uni terminalda chop etadi.
5. Satrdagi belgi mavjudligini tekshiring
Endi siz satringizdagi belgi yoki belgilar ketma-ketligini mavjudligini tekshirmoqchi bo'lgan holatlar mavjud. Bunday holatlarda siz o'z ifodangizni quyidagicha formatlashingiz mumkin:
message = 'Shahbaz Bhatti is a coder'
chop etish (xabarda "python")
Endi bu mantiqiy funktsiyani qaytaradi. ya'ni "to'g'ri" yoki "noto'g'ri". Shunga o'xshash;
Shuni esda tutingki, ushbu usullar va funktsiyalarning barchasi katta-kichik harflarga sezgir.
Aylantirmoq!
Satrlar uchun yana ko'p narsalar bor, biz oldinga siljishimiz bilan asta-sekin o'rganamiz. Keyinchalik Python da arifmetik amallarni bajarishni o'rganamiz.
Leave a Reply