Direct naar de hoofdinhoud
Module 4 · Les 1 van 413/36 in de cursus~12 min
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.

Python
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

Python
"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.

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

Splitsen en opnieuw deelnemen: split / join

Python
"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

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

Inhoud testen

Python
"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")         # 2

find 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

Oefening#python.m4.l1.e1
Pogingen: 0Laden…

Gegeven `name = 'Ada Lovelace'`, bereken `cleaned` als `name` zonder randspaties en allemaal kleine letters. Evalueer 'schoongemaakt'.

Editor laden…
Toon hint

Koppel de methoden aan elkaar: eerst strip() en dan lower().

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#python.m4.l1.e2
Pogingen: 0Laden…

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`.

Editor laden…
Toon hint

split breekt uit elkaar, join zet weer in elkaar.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

Oefening#python.m4.l1.e3
Pogingen: 0Laden…

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.

Editor laden…
Toon hint

Combineer de aanroepen in een keten: raw_text.strip().upper().

Oplossing beschikbaar na 3 pogingen