Mündəricat[Gizlət][Göstər]
Qəza kursunda üçüncü mühazirəyə xoş gəlmisiniz.
Bu mühazirədə biz Python-da strings ilə işləməyi öyrənəcəyik. Popkornunuzu hazırlayın və möhkəm oturun.
Strings
Əvvəlcə sitatlar haqqında danışaq və onların Python-da təqdim edə biləcəyi çaşqınlığı aradan qaldıraq.
Daha əvvəl qeyd edildiyi kimi, Python-da funksiyadan sonra həm tək, həm də qoşa dırnaq işarələrindən istifadə edə bilərik. Bunun xüsusi bir faydası var. Tutaq ki, siz belə bir şey çap etmək istəyirsiniz.
print('This is Shahbaz's computer')
İndi yuxarıdakı ifadədə, “Şahbazın” kimi ikinci sitatdan sonra hər şey piton tərcüməçisi tərəfindən naməlum qalacaq, çünki Python ikinci sitatı sətirin sonu kimi qəbul edəcək. Bu halda, sətri belə elan etmək üçün qoşa dırnaq işarələrindən istifadə etmək istərdiniz:
print("This is Shahbaz's computer")
Bu, əksinə də tətbiq oluna bilər və sətir daxilində ikiqat kotirovkalar varsa, biz tək dırnaqlardan istifadə edə bilərik. məs
print('This "computer" belongs to Shahbaz')
İndi çoxlu sətirləri əhatə edən sətri çap etmək istəyirsinizsə, sətri əlavə etmək üçün üçlü dırnaq işarələrindən istifadə etməli olacaqsınız. Bu sitatlar sətirin məzmunundan asılı olaraq tək və ya ikiqat ola bilər. Misal üçün:
İndi deyək ki, sətirdən müəyyən bir simvol çap etmək istəyirsiniz. Bunu necə edərdiniz?
Python tərcüməçisi sətirdəki simvolları belə indeksləşdirir:
Terminalda gördüyünüz kimi, yalnız 'h' çap olunub. Bunun səbəbi, dəyişəndən sonra kvadrat mötərizədə 3 yazaraq terminalda çap etmək üçün sətirimizdə yalnız üçüncü simvolu seçmişik. Python tərcüməçisi böyük sətirləri sadələşdirmək üçün mənfi simvolları da indeksləşdirir. Bu o deməkdir ki, '-1' sətirdəki son rəqəm olacaq və s. Qeyd edək ki, boşluqlar indeksləşdirilməyib, yəni yuxarıdakı sətirdə yalnız 21 indekslənmiş boşluq olacaq.
Siz həmçinin sətirdən bir sıra simvol seçə bilərsiniz. məs
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Bu proqram terminalda 'Pyt' çap edəcək. 3-cü indeks bundan çıxarılıb.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
Eyni şəkildə, əgər son indeksi təqdim etməsək, python birinci indeksdən sonra bütün sətri çap edəcək. Bu proqramın çıxışı “Thon Course by Shahbaz” olacaq. Bu, əksinədir. yəni ilk indeksi qaçırsaq, başlanğıcdan sonuncu müəyyən edilmiş indeksə qədər bütün sətir çap olunacaq.
İndeksləmə mötərizələrində yalnız iki nöqtə olan proqram terminalda tam sətir verəcəkdir.
Məşq
Burada maraqlı bir məşq var
[1:-1] indeks intervalını təyin edən proqram yazın. Sizcə nəticə nə olacaq. Özünüz cəhd edin.
Formatlanmış sətirlər
Formatlaşdırılmış sətirlər, dəyişənlərinizlə dinamik olaraq bəzi mətnlər yaratdığınız hallarda xüsusilə faydalıdır. Qoy sənə göstərim.
Tutaq ki, bizdə ad və soyad olmaqla iki dəyişən var.
first_name = 'Shahbaz'
last_name = 'Bhatti'
İndi terminalda "Şahbaz [Bhatti] kodlayıcıdır" yazısını çap etmək istəyirik. Bunu necə edərdik? Bu kimi üçüncü dəyişəni təqdim edəcəyik:
message = 'first_name + ' [' + last_name + '] is a coder'
İndi bu proqramı çap edib işlətsək, terminalda 'Şahbaz [Bhatti] kodlayıcıdır' alacağıq.
Bu yanaşma mükəmməl işləsə də, ideal deyil, çünki mətnimiz mürəkkəbləşdikcə çıxışı vizuallaşdırmaq çətinləşir. Formatlanmış sətirlərdən istifadə etdiyimiz yer budur, onlar çıxışı vizuallaşdırmamızı asanlaşdırır.
Üçüncü dəyişən 'message'i dəyişdirək və formatlanmış sətir təqdim edək. Formatlanmış sətirləri müəyyən etmək üçün sətirlərinizi 'f' hərfi ilə qeyd edin və sonra sətirlərinizə dinamik olaraq dəyərlər daxil etmək üçün əyri mötərizələrdən istifadə edin. Proqramımız belə görünəcək:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Formatlanmış sətirləri müəyyən etmək üçün sətirlərinizi F hərfi ilə qeyd edin və sonra dəyərləri sətirlərinizə dinamik şəkildə daxil etmək üçün əyri mötərizələrdən istifadə edin.
Python Strings ilə edə biləcəyiniz gözəl şeylər
Mən sizə Python sətirləri ilə edə biləcəyiniz çox gözəl şeylər göstərəcəyəm.
1. Sətirdəki simvolların sayı
Beləliklə, dəyişəni təyin etməklə başlayaq:
message = 'Shahbaz Bhatti is a Coder '
İndi yuxarıdakı sətirdəki simvolların sayını müəyyən etmək istəsəm, Python-da quraşdırılmış “len” funksiyası var. Sadəcə olaraq bu funksiya ilə dəyişəni belə çap edin
print(len(message))
Bu, istifadəçidən daxilolma aldıqda xüsusilə faydalıdır. Məsələn, bir formanı onlayn doldurduğunuz zaman hər bir giriş sahəsinin çox vaxt limiti olduğunu görmüsünüz. Məsələn, adınız üçün 50 simvol ola bilər, ona görə də bu “len” funksiyasından istifadə etməklə biz daxiletmə sahəsində simvolların sayına məhdudiyyət tətbiq edə bilərik.
2. Sətirdəki simvolların böyük və ya kiçik hərflərə çevrilməsi
Biz sətirlə əlaqəli funksiyalara nöqtə operatoru vasitəsilə daxil ola bilərik. Dəyişən adınızı yaza bilərsiniz və onun qarşısına nöqtə qoyaraq bütün belə funksiyaların siyahısını görə bilərsiniz.
İndi daha dəqiq desək, siz bu funksiyaları metodlar kimi adlandırırsınız, bu, gələcəkdə baxmaq istədiyimiz obyekt yönümlü proqramlaşdırmada bir termindir, lakin hələlik sizdən götürməyinizi istədiyim odur ki, funksiya zaman başqa bir şeyə aiddir və ya hansısa obyektə xasdırsa, biz metod kimi həmin funksiyaya müraciət edirik. Bu halda, sətri böyük hərflərə çevirmək üçün “yuxarı” metodundan istifadə edəcəyik.
Bu funksiya sətirə xas olduğundan, biz buna metod kimi müraciət edirik. Bunun əksinə olaraq “len” və “print” ümumi təyinatlı funksiyalardır, onlar sətirlərə, rəqəmlərə və ya digər növ obyektlərə aid deyildir. Bu funksiya ilə metod arasındakı əsas fərqdir.
İndi bunu çap edək.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
Və biz görə bilərik ki, simlimizi böyük hərflə almışıq. Eynilə, sətri kiçik hərflərə çevirmək üçün “aşağı” metodumuz var. Sətirin hər bir sözünü böyük hərflə yazmaq üçün “title” metodundan da istifadə edə bilərsiniz.
Qeyd edək ki, metod bizim orijinal sətrimizi dəyişdirmir və ya dəyişdirmir. Əslində, o, yeni bir sətir yaradır və onu qaytarır.
3. Sətirdə simvolların ardıcıllığını tapın
Sətirdə müəyyən simvolun indeksini tapmaq üçün başqa bir üsula cəhd edək.
Növü:
message.find('b')
eyni dəyişəndən sonra və onu çap edin. O, bu halda 4 olan sətirdə 'b' hərfinin ilk dəfə rast gəlinməsinin indeksini çap edəcək.
Nəzərə alın ki, bu üsul hərflərə həssasdır və simvol sətirdə tapılmadıqda -1 qaytaracaq. O, həmçinin simvollar ardıcıllığı üçün istifadə edilə bilər.
Məsələn, aşağıdakı proqram:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
“kodlayıcı” ardıcıllığı 20 indeksindən başladığı üçün “20” dəyərini qaytaracaq.
4. Sətirdə simvolun dəyişdirilməsi
Siz sətirdəki simvolu və ya simvol ardıcıllığını əvəz etmək üçün “əvəz et” metodundan istifadə edə bilərsiniz. Gəlin bunu fəaliyyətdə görək.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Bu proqram “kodlayıcı” sözünü “proqramçı” ilə əvəz edəcək və onu terminalda çap edəcək.
5. Sətirdə simvolun mövcudluğunu yoxlayın
İndi sətirinizdə simvolun və ya simvolun ardıcıllığının mövcudluğunu yoxlamaq istədiyiniz hallar var. Belə hallarda ifadənizi belə formatlaşdıra bilərsiniz:
message = 'Shahbaz Bhatti is a coder'
çap (mesajda 'python')
İndi bu, boolean funksiyanı qaytaracaq. yəni “Doğru” və ya “Yanlış”. Bunun kimi;
Nəzərə alın ki, bütün bu üsullar və funksiyalar hərflərə həssasdır.
Tamamlayın!
İrəli getdikcə yavaş-yavaş öyrənəcəyimiz daha çox şey var. Sonra Python-da hesab əməliyyatlarını yerinə yetirməyi öyrənəcəyik.
Cavab yaz