Innholdsfortegnelse[Gjemme seg][Forestilling]
Velkommen til tredje forelesning i lynkurset.
I denne forelesningen skal vi lære å håndtere strenger i Python. Gjør popcornet klart og sett deg tett.
Strenger
La oss først snakke om sitater og eliminere forvirringen de kan introdusere i Python.
Som nevnt tidligere kan vi bruke både enkle og doble anførselstegn etter en funksjon i Python. Det er en spesifikk nytte av dette. Tenk deg at du vil skrive ut noe slikt.
print('This is Shahbaz's computer')
Nå i uttrykket ovenfor vil alt etter det andre sitatet som i "Shahbaz's" bli uidentifisert av python-tolkeren fordi Python vil ta det andre sitatet som slutten av strengen. I så fall vil du bruke de doble anførselstegnene for å erklære strengen slik:
print("This is Shahbaz's computer")
Dette kan også brukes omvendt og vi kan bruke enkle anførselstegn hvis det er doble anførselstegn inne i strengen. f.eks
print('This "computer" belongs to Shahbaz')
Hvis du nå vil skrive ut en streng som spenner over flere linjer, må du bruke tre anførselstegn for å omslutte strengen. Disse sitatene kan også være enkle eller doble avhengig av innholdet i strengen. For eksempel:
La oss nå si at du vil skrive ut et bestemt tegn fra strengen. Hvordan ville du gjort det?
Python-tolkeren indekserer tegnene i strengen slik:
Som du kan se i terminalen, er det kun 'h' som er skrevet ut. Det er fordi vi har valgt bare det tredje tegnet i strengen vår som skal skrives ut på terminalen ved å skrive 3 i hakeparentes skrive etter variabelen. Python-tolken indekserer også tegnene i negativ for å forenkle store strenger. Det betyr at '-1' vil være det siste tallet i strengen og så videre. Merk at mellomrommene ikke er indeksert, noe som betyr at strengen ovenfor bare vil ha 21 indekserte mellomrom.
Du kan også velge en serie med tegn fra strengen. f.eks
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Dette programmet vil skrive ut 'Pyt' på terminalen. Indeks 3 er ekskludert fra dette.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
På samme måte, hvis vi ikke oppgir sluttindeksen, vil pytonen skrive ut hele strengen etter den første indeksen. Resultatet av dette programmet vil være 'thon Course by Shahbaz'. Dette gjelder omvendt. dvs. hvis vi savner den første indeksen, vil hele strengen fra starten til den sist definerte indeksen bli skrevet ut.
Et program med bare kolon i indekseringsparentesene vil gi hele strengen på terminalen.
Øvelse
Her er en interessant øvelse
skriv et program som definerer indeksintervallet til [1:-1]. Hva tror du blir resultatet. Prøv det selv.
Formaterte strenger
Formaterte strenger er spesielt nyttige i situasjoner der du dynamisk genererer tekst med variablene dine. La meg vise deg.
La oss si at vi har to variabler, fornavn og etternavn.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Nå ønsker vi å skrive ut 'Shahbaz [Bhatti] er en koder' på terminalen. Hvordan ville vi gjort det? Vi vil introdusere en tredje variabel som dette:
message = 'first_name + ' [' + last_name + '] is a coder'
Nå hvis vi skriver ut og kjører dette programmet, vil vi få 'Shahbaz [Bhatti] er en koder' på terminalen.
Selv om denne tilnærmingen fungerer perfekt, er den ikke ideell fordi ettersom teksten vår blir mer komplisert, blir det vanskeligere å visualisere utdataene. Det er her vi bruker formaterte strenger, de gjør det lettere for oss å visualisere utdataene.
La oss endre den tredje variabelen 'melding' og introdusere en formatert streng. For å definere formaterte strenger, prefiks strengene dine med en 'f' og bruk deretter krøllete klammeparenteser for å dynamisk sette inn verdier i strengene dine. Programmet vårt vil se omtrent slik ut:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
For å definere formaterte strenger, prefiks strengene dine med en F og bruk deretter krøllete klammeparenteser for dynamisk å sette inn verdier i strengene dine.
Kule ting du kan gjøre med Python Strings
Jeg skal vise deg noen virkelig kule ting du kan gjøre med Python-strenger.
1. Antall tegn i en streng
Så la oss starte med å definere en variabel:
message = 'Shahbaz Bhatti is a Coder '
Hvis jeg nå vil bestemme antall tegn i strengen ovenfor, er det en innebygd funksjon "len" i Python. Bare skriv ut variabelen med denne funksjonen slik
print(len(message))
Dette er spesielt nyttig når du mottar innspill fra brukeren. Du har for eksempel lagt merke til at når du fyller ut et skjema på nettet, har hvert inntastingsfelt ofte en grense. For eksempel kan du ha 50 tegn for navnet ditt, så ved å bruke denne "len"-funksjonen kan vi håndheve en grense på antall tegn i et inndatafelt.
2. Konvertering av tegn i en streng til store eller små bokstaver
Vi kan få tilgang til strengrelaterte funksjoner gjennom punktoperatoren. Du kan skrive inn variabelnavnet ditt og ved å sette en prikk foran den kan du se listen over alle slike funksjoner.
Nå i mer nøyaktige termer refererer du til disse funksjonene som metoder, dette er et begrep innen objektorientert programmering som vi ønsker å se på i fremtiden, men for nå, det jeg vil at du skal ta bort, er at når en funksjon tilhører noe annet eller er spesifikk for en slags objekt, vi refererer til den funksjonen som en metode. I dette tilfellet vil vi bruke metoden "opper" for å konvertere strengen til store bokstaver.
Siden denne funksjonen er spesifikk for en streng, refererer vi til dette som en metode. I motsetning til dette er "len" og "print" generelle funksjoner, de tilhører ikke strenger eller tall eller andre typer objekter. Dette er den grunnleggende forskjellen mellom en funksjon og en metode.
Nå, la oss skrive ut dette.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
Og vi kan se at vi har strengen vår med store bokstaver. På samme måte har vi en metode "lavere" for å konvertere strengen til små bokstaver. Du kan også bruke metoden "tittel" for å bruke stor bokstav i hvert ord i strengen.
Merk at metoden ikke endrer eller modifiserer vår opprinnelige streng. Faktisk oppretter den en ny streng og returnerer den.
3. Finn sekvensen av tegn i en streng
La oss prøve en annen metode for å finne indeksen til et bestemt tegn i strengen.
Type:
message.find('b')
etter den samme variabelen og skriv den ut. Den vil skrive ut indeksen for den første forekomsten av bokstaven 'b' i strengen som er 4 i dette tilfellet.
Merk at denne metoden skiller mellom store og små bokstaver, og den vil returnere -1 hvis tegnet ikke finnes i strengen. Den kan også brukes til en sekvens av tegn.
For eksempel følgende program:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
vil returnere verdien "20" ettersom sekvensen "koder" starter fra indeks 20.
4. Bytte ut et tegn i en streng
Du kan bruke "erstatt"-metoden for å erstatte et tegn eller en sekvens av tegn i en streng. La oss se dette i aksjon.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Dette programmet vil erstatte ordet "koder" med "programmerer" og skrive det ut på terminalen.
5. Sjekk om det finnes et tegn i en streng
Nå er det tilfeller der du vil sjekke eksistensen av et tegn eller en sekvens av tegnet i strengen din. I slike situasjoner kan du formatere uttrykket ditt slik:
message = 'Shahbaz Bhatti is a coder'
print('python' i melding)
Nå vil dette returnere en boolsk funksjon. dvs. "True" eller "False". Som dette;
Vær oppmerksom på at alle disse metodene og funksjonene skiller mellom store og små bokstaver.
Pakk opp!
Det er mye mer med strenger, som vi vil lære gradvis etter hvert som vi beveger oss fremover. Deretter skal vi lære å utføre aritmetiske operasjoner i Python.
Legg igjen en kommentar