Werrej[Aħbi][Uri]
Merħba għat-tielet lecture fil-crash course.
F'din il-lecture, se nitgħallmu nittrattaw l-istrings f'Python. Lest il-popcorn tiegħek u poġġi sewwa.
Strings
L-ewwel, ejja nitkellmu dwar il-kwotazzjonijiet u neliminaw il-konfużjoni li jistgħu jintroduċu f'Python.
Kif intqal qabel, nistgħu nużaw kemm kwotazzjonijiet singoli kif ukoll doppji wara funzjoni f'Python. Hemm utilità speċifika ta 'dan. Ejja ngħidu li trid tipprintja xi ħaġa bħal din.
print('This is Shahbaz's computer')
Issa fl-espressjoni ta 'hawn fuq, kollox wara t-tieni kwotazzjoni bħal f'"Shahbaz's" se jmur mhux identifikat mill-interpretu python minħabba li Python se jieħu t-tieni kwotazzjoni bħala t-tmiem tas-sekwenza. F'dak il-każ, trid tuża l-kwotazzjonijiet doppji biex tiddikjara s-sekwenza bħal din:
print("This is Shahbaz's computer")
Dan jista 'jiġi applikat ukoll bil-maqlub u nistgħu nużaw kwotazzjonijiet singoli jekk hemm kwotazzjonijiet doppji ġewwa l-istring. eż
print('This "computer" belongs to Shahbaz')
Issa jekk trid tipprintja sekwenza li tifrex fuq linji multipli, ikollok tuża kwotazzjonijiet tripli biex tagħlaq is-sekwenza. Dawn il-kwotazzjonijiet jistgħu wkoll ikunu singoli jew doppji skont il-kontenut tas-sekwenza. Pereżempju:
Issa ejja ngħidu li trid tipprintja karattru partikolari mis-sekwenza. Kif tagħmel dan?
L-interpretu Python jindika l-karattri fis-sekwenza bħal dan:
Kif tistgħu taraw fit-terminal, 'h' biss ġiet stampata. Dak għax għażilna biss it-tielet karattru fis-sekwenza tagħna biex tipprintja fuq it-terminal billi tikteb 3 fil-parentesi kwadri tikteb wara l-varjabbli. L-interpretu Python jindika wkoll il-karattri fin-negattiv biex jissimplifika kordi kbar. Dan ifisser li l-'-1' se jkun l-aħħar numru fis-sekwenza u l-bqija. Innota li l-ispazji mhumiex indiċjati li jfisser li s-sekwenza ta 'hawn fuq se jkollha biss 21 spazju indiċjat.
Tista 'wkoll tagħżel serje ta' karattri mis-sekwenza. eż
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Dan il-programm se jistampa 'Pyt' fuq it-terminal. L-indiċi 3 huwa eskluż minn dan.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
Bl-istess mod, jekk ma nipprovdux l-indiċi tat-tmiem, il-python se jistampa s-sekwenza kollha wara l-ewwel indiċi. L-output ta' dan il-programm se jkun 'thon Course by Shahbaz'. Dan jgħodd viċi versa. jiġifieri jekk nitilfu l-ewwel indiċi allura s-sekwenza sħiħa mill-bidu sal-aħħar indiċi definit tiġi stampata.
Programm bil-kolon biss fil-parentesi tal-indiċjar jagħti s-sekwenza sħiħa fuq it-terminal.
Eżerċizzju
Hawn hu eżerċizzju interessanti
ikteb programm li jiddefinixxi l-intervall tal-indiċi ta' [1:-1]. X'taħseb li se jkun l-output. Ipprova lilek innifsek.
Strings ifformattjati
Kordi ifformattjati huma partikolarment utli f'sitwazzjonijiet fejn tiġġenera xi test b'mod dinamiku bil-varjabbli tiegħek. Ħallini nurik.
Ejja ngħidu li għandna żewġ varjabbli, l-isem, u l-kunjom.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Issa rridu nistampaw 'Shahbaz [Bhatti] huwa kodifikatur' fuq it-terminal. Kif nagħmlu dan? Se nintroduċu t-tielet varjabbli bħal din:
message = 'first_name + ' [' + last_name + '] is a coder'
Issa jekk nipprintjaw u nħaddmu dan il-programm, inġibu 'Shahbaz [Bhatti] is a coder' fuq it-terminal.
Filwaqt li dan l-approċċ jaħdem perfettament, mhuwiex ideali għax hekk kif it-test tagħna jsir aktar ikkumplikat isir aktar diffiċli biex wieħed iħares lejn l-output. Dan huwa fejn nużaw strings ifformattjati, jagħmluha aktar faċli għalina biex Ħares l-output.
Ejja nbiddlu t-tielet varjabbli 'messaġġ' u nintroduċu string ifformattjat. Biex tiddefinixxi kordi ifformattjati, prefissa l-kordi tiegħek b''f' u mbagħad uża ċineg kaboċċi biex daħħal il-valuri b'mod dinamiku fil-kordi tiegħek. Il-programm tagħna se jidher xi ħaġa bħal din:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Biex tiddefinixxi kordi ifformattjati, prefissa l-kordi tiegħek b'F u mbagħad uża ċineg kaboċċi biex daħħal il-valuri b'mod dinamiku fil-kordi tiegħek.
Affarijiet Kesħin Tista' tagħmel bi Python Strings
Jien ser nuruk xi affarijiet tassew friski li tista 'tagħmel bil-kordi Python.
1. Numru ta 'Karattri fi String
Mela ejja nibdew billi niddefinixxu varjabbli:
message = 'Shahbaz Bhatti is a Coder '
Issa jekk irrid niddetermina n-numru ta 'karattri fis-sekwenza ta' hawn fuq, hemm funzjoni inkorporata "len" f'Python. Ipprintja biss il-varjabbli b'din il-funzjoni bħal din
print(len(message))
Dan huwa partikolarment utli meta tirċievi input mill-utent. Pereżempju, innotajt li meta timla formola onlajn, kull qasam ta' input spiss ikollu limitu. Pereżempju, jista 'jkollok 50 karattru għal ismek, għalhekk billi tuża din il-funzjoni "len" nistgħu ninfurzaw limitu fuq in-numru ta' karattri f'field input.
2. Jikkonverti Karattri fi String għal Uppercase jew Lowercase
Nistgħu naċċessaw il-funzjonijiet relatati mal-istring permezz tal-operatur dot. Tista 'ttajpja l-isem varjabbli tiegħek u billi tpoġġi tikka quddiemha, tista' tara l-lista tal-funzjonijiet kollha bħal dawn.
Issa f'termini aktar preċiżi, tirreferi għal dawn il-funzjonijiet bħala metodi, dan huwa terminu fl-ipprogrammar orjentat lejn l-oġġetti li rridu nħarsu lejh fil-futur, iżda għalissa, dak li nixtieq li tieħu bogħod, huwa li meta funzjoni jappartjeni għal xi ħaġa oħra jew huwa speċifiku għal xi tip ta 'oġġett, nirreferu għal dik il-funzjoni bħala metodu. F'dan il-każ, se nużaw il-metodu "ta' fuq" għall-konverżjoni tas-sekwenza f'majju.
Peress li din il-funzjoni hija speċifika għal string, nirreferu għal dan bħala metodu. B'kuntrast "len" u "print" huma funzjonijiet għal skopijiet ġenerali, ma jappartjenux għal kordi jew numri jew tipi oħra ta 'oġġetti. Din hija d-differenza bażika bejn funzjoni u metodu.
Issa, ejja tipprintja dan.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
U nistgħu naraw li aħna ltqajna spag tagħna fil-majju. Bl-istess mod, għandna metodu "aktar baxx" biex tikkonverti s-sekwenza f'ittri żgħar. Tista 'wkoll tuża l-metodu "titolu" biex tikkapitalizza kull kelma tas-sekwenza.
Innota li l-metodu ma jbiddilx jew jimmodifikax is-sekwenza oriġinali tagħna. Fil-fatt, toħloq string ġdida u tirritornaha.
3. Sib is-Sekwenza ta' Karattri fi String
Ejja nippruvaw metodu ieħor biex issib l-indiċi ta 'karattru partikolari fis-sekwenza.
Tip:
message.find('b')
wara l-istess varjabbli u ipprintjaha. Se tipprintja l-indiċi tal-ewwel okkorrenza tal-ittra 'b' fis-sekwenza li hija 4 f'dan il-każ.
Innota li dan il-metodu huwa sensittiv għall-każi u se jirritorna -1 jekk il-karattru ma jinstabx fis-sekwenza. Jista 'jintuża wkoll għal sekwenza ta' karattri.
Per eżempju, il-programm li ġej:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
se jirritorna l-valur "20" peress li s-sekwenza "kodifikatur" tibda mill-indiċi 20.
4. Tissostitwixxi Karattru fi String
Tista 'tuża l-metodu "tissostitwixxi" biex tissostitwixxi karattru jew sekwenza ta' karattri f'sekwenza. Ejja naraw dan fl-azzjoni.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Dan il-programm se jissostitwixxi l-kelma "kodifikatur" bi "programmatur" u jistampaha fuq it-terminal.
5. Iċċekkja l-Eżistenza ta’ Karattru fi String
Issa hemm każijiet meta trid tiċċekkja l-eżistenza ta 'karattru jew sekwenza tal-karattru fis-sekwenza tiegħek. F'dawk is-sitwazzjonijiet, tista' tuża l-format tal-espressjoni tiegħek bħal din:
message = 'Shahbaz Bhatti is a coder'
print('python' fil-messaġġ)
Issa dan se jirritorna funzjoni booleana. jiġifieri "Veru" jew "Falz". Bħal dan;
Jekk jogħġbok innota li dawn il-metodi u l-funzjonijiet kollha huma sensittivi għall-każ.
Nagħlaq!
Hemm ħafna aktar għall-kordi, li se nitgħallmu gradwalment hekk kif nimxu 'l quddiem. Sussegwentement, se nitgħallmu nwettqu operazzjonijiet aritmetiċi f'Python.
Ħalli Irrispondi