Innehållsförteckning[Dölj][Visa]
Välkommen till den tredje föreläsningen i snabbkursen.
I den här föreläsningen ska vi lära oss att hantera strängar i Python. Gör i ordning dina popcorn och sitt tätt.
Strängar
Låt oss först prata om citat och eliminera förvirringen de kan introducera i Python.
Som sagt tidigare kan vi använda både enkla och dubbla citattecken efter en funktion i Python. Det finns en specifik nytta av detta. Anta att du vill skriva ut något sånt här.
print('This is Shahbaz's computer')
Nu i uttrycket ovan kommer allt efter det andra citatet som i "Shahbaz's" att förbli oidentifierat av pythontolken eftersom Python tar det andra citatet som slutet på strängen. I så fall vill du använda dubbla citattecken för att deklarera strängen så här:
print("This is Shahbaz's computer")
Detta kan också tillämpas åt andra hållet och vi kan använda enkla citattecken om det finns dubbla citattecken inuti strängen. t.ex
print('This "computer" belongs to Shahbaz')
Om du nu vill skriva ut en sträng som sträcker sig över flera rader, måste du använda tredubbla citattecken för att omsluta strängen. Dessa citattecken kan också vara enkla eller dubbla beroende på innehållet i strängen. Till exempel:
Låt oss nu säga att du vill skriva ut ett visst tecken från strängen. Hur skulle du göra det?
Python-tolken indexerar tecknen i strängen så här:
Som du kan se i terminalen har endast 'h' skrivits ut. Det beror på att vi bara har valt det tredje tecknet i vår sträng att skriva ut på terminalen genom att skriva 3 inom hakparenteser skriv efter variabeln. Python-tolken indexerar också tecknen i negativ för att förenkla stora strängar. Det betyder att '-1' kommer att vara den sista siffran i strängen och så vidare. Observera att mellanslagen inte är indexerade vilket innebär att ovanstående sträng endast kommer att ha 21 indexerade mellanslag.
Du kan också välja en serie tecken från strängen. t.ex
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Detta program kommer att skriva ut 'Pyt' på terminalen. Index 3 är exkluderat från detta.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
På samma sätt, om vi inte tillhandahåller slutindexet, kommer pytonen att skriva ut hela strängen efter det första indexet. Resultatet av detta program kommer att vara 'thon Course by Shahbaz'. Detta gäller vice versa. dvs om vi missar det första indexet kommer hela strängen från början till det senast definierade indexet att skrivas ut.
Ett program med endast kolon inom indexeringsparenteserna kommer att ge hela strängen på terminalen.
motion
Här är en intressant övning
skriv ett program som definierar indexintervallet för [1:-1]. Vad tror du blir resultatet. Prova själv.
Formaterade strängar
Formaterade strängar är särskilt användbara i situationer där du dynamiskt genererar viss text med dina variabler. Låt mig visa dig.
Låt oss säga att vi har två variabler, förnamn och efternamn.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Nu vill vi skriva ut 'Shahbaz [Bhatti] är en kodare' på terminalen. Hur skulle vi göra det? Vi kommer att introducera en tredje variabel så här:
message = 'first_name + ' [' + last_name + '] is a coder'
Om vi nu skriver ut och kör det här programmet kommer vi att få 'Shahbaz [Bhatti] är en kodare' på terminalen.
Även om detta tillvägagångssätt fungerar perfekt, är det inte idealiskt eftersom vår text blir mer komplicerad blir det svårare att visualisera resultatet. Det är här vi använder formaterade strängar, de gör det lättare för oss att visualisera resultatet.
Låt oss ändra den tredje variabeln 'meddelande' och introducera en formaterad sträng. För att definiera formaterade strängar, prefix dina strängar med ett " f " och använd sedan klammerparenteser för att dynamiskt infoga värden i dina strängar. Vårt program kommer att se ut ungefär så här:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
För att definiera formaterade strängar, prefix dina strängar med ett F och använd sedan klammerparenteser för att dynamiskt infoga värden i dina strängar.
Coola saker du kan göra med Python Strings
Jag ska visa dig några riktigt coola saker du kan göra med Python-strängar.
1. Antal tecken i en sträng
Så låt oss börja med att definiera en variabel:
message = 'Shahbaz Bhatti is a Coder '
Om jag nu vill bestämma antalet tecken i ovanstående sträng finns det en inbyggd funktion "len" i Python. Skriv bara ut variabeln med den här funktionen så här
print(len(message))
Detta är särskilt användbart när du får input från användaren. Du har till exempel märkt att när du fyller i ett formulär online har varje inmatningsfält ofta en gräns. Till exempel kan du ha 50 tecken för ditt namn, så med den här "len"-funktionen kan vi genomdriva en gräns för antalet tecken i ett inmatningsfält.
2. Konvertera tecken i en sträng till versaler eller gemener
Vi kan komma åt de strängrelaterade funktionerna via punktoperatorn. Du kan skriva ditt variabelnamn och genom att sätta en prick framför den kan du se listan över alla sådana funktioner.
Nu i mer exakta termer hänvisar du till dessa funktioner som metoder, detta är en term inom objektorienterad programmering som vi vill titta på i framtiden, men för nu, vad jag vill att du ska ta bort, är att när en funktion tillhör något annat eller är specifikt för något slags objekt, vi hänvisar till den funktionen som en metod. I det här fallet kommer vi att använda metoden "upper" för att konvertera strängen till versaler.
Eftersom denna funktion är specifik för en sträng hänvisar vi till detta som en metod. Däremot är "len" och "print" allmänna funktioner, de tillhör inte strängar eller siffror eller andra typer av objekt. Detta är den grundläggande skillnaden mellan en funktion och en metod.
Nu, låt oss skriva ut det här.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
Och vi kan se att vi fick vår sträng med versaler. På samma sätt har vi en metod "lägre" för att konvertera strängen till gemener. Du kan också använda metoden "titel" för att använda versaler för varje ord i strängen.
Observera att metoden inte ändrar eller modifierar vår ursprungliga sträng. Faktum är att den skapar en ny sträng och returnerar den.
3. Hitta sekvensen av tecken i en sträng
Låt oss prova en annan metod för att hitta indexet för ett visst tecken i strängen.
Typ:
message.find('b')
efter samma variabel och skriv ut den. Det kommer att skriva ut indexet för den första förekomsten av bokstaven 'b' i strängen som är 4 i detta fall.
Observera att den här metoden är skiftlägeskänslig och den kommer att returnera -1 om tecknet inte finns i strängen. Den kan också användas för en sekvens av tecken.
Till exempel följande program:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
kommer att returnera värdet "20" eftersom sekvensen "kodare" börjar från index 20.
4. Ersätta en karaktär i en sträng
Du kan använda metoden "ersätt" för att ersätta ett tecken eller en sekvens av tecken i en sträng. Låt oss se detta i aktion.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Detta program kommer att ersätta ordet "koder" med "programmerare" och skriva ut det på terminalen.
5. Kontrollera förekomsten av en karaktär i en sträng
Nu finns det tillfällen då du vill kontrollera förekomsten av ett tecken eller en sekvens av tecknet i din sträng. I dessa situationer kan du använda formatera ditt uttryck så här:
message = 'Shahbaz Bhatti is a coder'
print('python' i meddelande)
Nu kommer detta att returnera en boolesk funktion. dvs. "True" eller "False". Så här;
Observera att alla dessa metoder och funktioner är skiftlägeskänsliga.
Sammanfatta!
Det finns mycket mer med strängar, som vi kommer att lära oss gradvis när vi går framåt. Därefter kommer vi att lära oss att utföra aritmetiska operationer i Python.
Kommentera uppropet