Modulelessen (1/4)
String-methoden
Tekenreeksen in Python zijn onveranderlijk: elke methode die ze "aanpast". feitelijk retourneert een nieuwe string, het origineel blijft zoals het is.
s = "Ciao"
s.upper() # 'CIAO' (nuova stringa)
s # 'Ciao' (originale invariata)Om te "bijwerken" wijst u het resultaat toe: s = s.upper().
Hoofdletters, kleine letters, hoofdlettercontrole
"Ciao".upper() # 'CIAO'
"CIAO".lower() # 'ciao'
"ciao mondo".title() # 'Ciao Mondo'
"ciao".capitalize() # 'Ciao'
"CiAo".swapcase() # 'cIaO'Opschonen: strip
Verwijdert witruimte (spaties, tabs, nieuwe regels) van de randen.
" ciao ".strip() # 'ciao'
" ciao ".lstrip() # 'ciao '
" ciao ".rstrip() # ' ciao'
"___ciao___".strip("_") # 'ciao' (argomento = caratteri da togliere)Splitsen en opnieuw deelnemen: split / join
"a,b,c".split(",") # ['a', 'b', 'c']
" ciao mondo".split() # ['ciao', 'mondo'] (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"]) # 'a,b,c'Fundamenteel idioom: "separator".join(list_of_strings). Alle elementen
moeten strings zijn, anders TypeError.
Vervanging: replace
"ciao mondo".replace("mondo", "Python") # 'ciao Python'
"aaaa".replace("a", "b", 2) # 'bbaa' (max 2 sostituzioni)Inhoud testen
"image.png".endswith(".png") # True
"http://".startswith("http") # True
"ciao" in "ciao mondo" # True (operatore in)
"ciao mondo".find("mondo") # 5 (-1 se non trovato)
"ciao mondo".count("o") # 2find retourneert -1 als de subtekenreeks niet aanwezig is; index raist in plaats daarvan
ValueError.
Snaren zijn onveranderlijk
In Python zijn strings onveranderlijk: geen enkele stringmethode wijzigt de originele string; in plaats daarvan retourneren ze altijd een nieuwe string. Als u s.upper() schrijft, blijft de variabele s ongewijzigd. Om de wijziging op te slaan, moet u deze opnieuw toewijzen: s = s.upper().
Probeer het
Gegeven `name = 'Ada Lovelace'`, bereken `cleaned` als `name` zonder randspaties en allemaal kleine letters. Evalueer 'schoongemaakt'.
Toon hint
Koppel de methoden aan elkaar: eerst strip() en dan lower().
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Gegeven `csv = 'mela,pera,kiwi'`, verkrijg de lijst `fruits` door deze te splitsen op een komma, en herbouw vervolgens `slash_separated` en voeg deze samen met ' / '. Evalueer `slash_separated`.
Toon hint
split breekt uit elkaar, join zet weer in elkaar.
Oplossing beschikbaar na 3 pogingen
Extra uitdaging
Gegeven de string \`raw_text = " hello world "\`, verwijdert u de voor- en achterliggende spaties met \`.strip()\` en converteert u de tekst naar hoofdletters. Sla het opgeschoonde resultaat op in \`clean_text\` en evalueer het.
Toon hint
Combineer de aanroepen in een keten: raw_text.strip().upper().
Oplossing beschikbaar na 3 pogingen