Table of Contents[Ferstopje][Toanje]
Wolkom by de tredde lêzing yn de spoedkursus.
Yn dizze lêzing sille wy leare om te gean mei snaren yn Python. Meitsje jo popcorn klear en sit strak.
Strings
Litte wy earst oer sitaten prate en de betizing eliminearje dy't se yn Python kinne yntrodusearje.
Lykas sein earder, kinne wy brûke sawol inkele en dûbele quotes nei in funksje yn Python. D'r is in spesifyk nut fan dit. Stel dat jo sa'n ding wolle printsje.
print('This is Shahbaz's computer')
No yn 'e boppesteande útdrukking sil alles nei it twadde sitaat lykas yn "Shahbaz's" unidentifisearre wurde troch de python-tolk, om't Python it twadde sitaat sil nimme as it ein fan 'e tekenrige. Yn dat gefal wolle jo de dûbele quotes brûke om de tekenrige sa te ferklearjen:
print("This is Shahbaz's computer")
Dit kin ek oarsom tapast wurde en wy kinne inkele quotes brûke as d'r dûbele quotes binne yn 'e tekenrige. bgl
print('This "computer" belongs to Shahbaz')
As jo no in tekenrige wolle printsje dy't meardere rigels omspant, moatte jo trije sitaten brûke om de tekenrige yn te sluten. Dizze sitaten kinne ek ien of dûbel wêze ôfhinklik fan de ynhâld fan 'e tekenrige. Bygelyks:
Litte wy no sizze dat jo in bepaald karakter fan 'e tekenrige wolle printsje. Hoe soene jo dat dwaan?
De Python-tolk yndeksearret de karakters yn 'e tekenrige sa:
Lykas jo kinne sjen yn 'e terminal, is allinich 'h' ôfdrukt. Dat is om't wy allinich it tredde karakter yn ús tekenrige hawwe selektearre om op 'e terminal te printsjen troch 3 yn fjouwerkante heakjes te skriuwen nei de fariabele. De Python-tolk yndeksearret ek de tekens negatyf om grutte snaren te ferienfâldigjen. Dat betsjut dat de '-1' it lêste nûmer yn 'e tekenrige is en sa fierder. Tink derom dat de spaasjes net yndeksearre binne, wat betsjut dat de boppesteande tekenrige mar 21 yndekseare spaasjes sil hawwe.
Jo kinne ek in searje karakters selektearje út 'e tekenrige. bgl
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Dit programma sil 'Pyt' op 'e terminal printsje. Yndeks 3 is hjirfan útsletten.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
Op deselde manier, as wy de einyndeks net leverje, sil de python de hiele tekenrige nei de earste yndeks printsje. De útfier fan dit programma sil 'thon Course by Shahbaz' wêze. Dit jildt oarsom. dws as wy de earste yndeks misse, dan sil de hiele tekenrige fan it begjin oant de lêste definieare yndeks printe wurde.
In programma mei allinich de kolon yn 'e yndeksearjende heakjes sil de folsleine tekenrige op' e terminal opleverje.
Oefening
Hjir is in nijsgjirrige oefening
skriuw in programma dat definiearret it yndeks ynterval fan [1: -1]. Wat tinksto sil de útfier wêze. Besykje it sels.
Opmakke Strings
Opmaakte snaren binne benammen nuttich yn situaasjes wêr't jo dynamysk wat tekst generearje mei jo fariabelen. Lit my dy sjen litte.
Litte wy sizze dat wy twa fariabelen hawwe, foarnamme en efternamme.
first_name = 'Shahbaz'
last_name = 'Bhatti'
No wolle wy 'Shahbaz [Bhatti] is in koder' op 'e terminal printsje. Hoe soene wy dat dwaan? Wy sille in tredde fariabele yntrodusearje lykas dit:
message = 'first_name + ' [' + last_name + '] is a coder'
No as wy dit programma printsje en útfiere, krije wy 'Shahbaz [Bhatti] is in koder' op 'e terminal.
Hoewol dizze oanpak perfekt wurket, is it net ideaal, om't ús tekst yngewikkelder wurdt, it dreger wurdt om de útfier te visualisearjen. Dit is wêr't wy opmakke stringen brûke, se meitsje it makliker foar ús om de útfier te visualisearjen.
Litte wy de tredde fariabele 'berjocht' feroarje en in opmakke tekenrige ynfiere. Om opmaakte snaren te definiearjen, set jo snaren foar mei in ' f ' en brûk dan krullende beugels om wearden dynamysk yn jo snaren yn te foegjen. Us programma sil der sa útsjen:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Om opmaakte snaren te definiearjen, set jo snaren foar mei in F en brûk dan krullende beugels om wearden dynamysk yn jo snaren yn te foegjen.
Coole dingen kinne jo dwaan mei Python Strings
Ik sil jo wat heul coole dingen sjen litte dy't jo kinne dwaan mei Python-snaren.
1. Oantal tekens yn in tekenrige
Dus litte wy begjinne mei it definiearjen fan in fariabele:
message = 'Shahbaz Bhatti is a Coder '
No as ik it oantal karakters yn 'e boppesteande tekenrige bepale wol, is d'r in ynboude funksje "len" yn Python. Druk gewoan de fariabele mei dizze funksje sa út
print(len(message))
Dit is benammen nuttich as jo ynfier krije fan 'e brûker. Jo hawwe bygelyks opfallen dat as jo in formulier online ynfolje, elk ynfierfjild faaks in limyt hat. Jo kinne bygelyks 50 karakters foar jo namme hawwe, dus mei dizze "len"-funksje kinne wy in limyt ôftwinge op it oantal karakters yn in ynfierfjild.
2. It omsette fan tekens yn in tekenrige nei haadletters of lytse letters
Wy kinne tagong krije ta de string-relatearre funksjes fia de puntoperator. Jo kinne jo fariabelenamme ynfiere en troch der in puntsje foar te setten, kinne jo de list sjen mei al sokke funksjes.
No yn krekter termen ferwize jo nei dizze funksjes as metoaden, dit is in term yn objekt-rjochte programmearring wêr't wy yn 'e takomst nei wolle sjen, mar foar no, wat ik wol dat jo nimme, is dat wannear't in funksje heart by wat oars of is spesifyk foar in soarte fan objekt, wy ferwize nei dy funksje as in metoade. Yn dit gefal sille wy de metoade "boppeste" brûke foar it konvertearjen fan de tekenrige yn haadletters.
Om't dizze funksje spesifyk is foar in tekenrige, ferwize wy dit as in metoade. Yn tsjinstelling binne "len" en "print" funksjes foar algemiene doelen, se hearre net ta snaren of sifers of oare soarten objekten. Dit is it basisferskil tusken in funksje en in metoade.
No, lit ús dit printsje.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
En wy kinne sjen dat wy ús string yn haadletters krigen. Op deselde manier hawwe wy in metoade "leger" om de tekenrige yn lytse letters te konvertearjen. Jo kinne ek de metoade "titel" brûke om elk wurd fan 'e tekenrige te kapitalisearjen.
Tink derom dat de metoade ús orizjinele tekenrige net feroaret of feroaret. Yn feite makket it in nije tekenrige en jout it werom.
3. Fyn de folchoarder fan karakters yn in tekenrige
Litte wy in oare metoade besykje om de yndeks fan in bepaald karakter yn 'e tekenrige te finen.
Type:
message.find('b')
nei deselde fariabele en printsje it. It sil de yndeks drukke fan it earste foarkommen fan 'e letter 'b' yn 'e tekenrige dy't yn dit gefal 4 is.
Tink derom dat dizze metoade haadlettergefoelich is en it sil -1 weromjaan as it karakter net fûn wurdt yn 'e tekenrige. It kin ek brûkt wurde foar in folchoarder fan karakters.
Bygelyks it folgjende programma:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
sil de wearde "20" weromjaan as de folchoarder "koder" begjint fan yndeks 20.
4. It ferfangen fan in karakter yn in tekenrige
Jo kinne de metoade "ferfange" brûke om in karakter of in folchoarder fan tekens yn in tekenrige te ferfangen. Litte wy dit yn aksje sjen.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Dit programma sil it wurd "coder" ferfange mei "programmeur" en printsje it op 'e terminal.
5. Kontrolearje it bestean fan in karakter yn in tekenrige
No binne d'r gefallen dat jo it bestean fan in karakter of in folchoarder fan it karakter yn jo tekenrige wolle kontrolearje. Yn dy situaasjes kinne jo jo útdrukking brûke as dit:
message = 'Shahbaz Bhatti is a coder'
print('python' yn berjocht)
No sil dit in Booleaanske funksje werombringe. ie "Wier" of "False". Lykas dit;
Tink derom dat al dizze metoaden en funksjes haadlettergefoelich binne.
Gearfetsje!
Der is folle mear oan snaren, dat wy sille leare stadichoan as wy gean foarút. Folgjende sille wy leare hoe't jo arithmetyske operaasjes útfiere yn Python.
Leave a Reply