Onveranderlijkheid van Strings
Veeg om het menu te tonen
In Python zijn strings onveranderlijk: eenmaal aangemaakt kunnen de tekens die ze bevatten niet ter plaatse worden gewijzigd. Elke "wijziging" die je uitvoert, creëert eigenlijk een nieuwe string. Dit is belangrijk voor de correctheid (geen onbedoelde aanpassingen ter plaatse) en voor de prestaties (hoe je grotere strings opbouwt).
Geen aanpassingen ter plaatse
Je kunt tekens lezen via hun index, maar je kunt ze niet toewijzen.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
De meeste stringmethoden retourneren een nieuwe string en laten het origineel onveranderd.
12345678# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
.strip(): verwijdert voor- en achterliggende spaties uit een string.
Syntaxis: string.strip()
Koppelen is prima, maar onthoud dat je bij elke stap een nieuw object krijgt.
123456# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
.upper(): Geeft een kopie van de string terug met alle tekens in hoofdletters.
Syntaxis: string.upper()
"Wijzigen" door een Nieuwe String te Maken
Gebruik slicing, replace of concatenatie om een nieuwe waarde te produceren.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dATa" print(s)
.replace(): retourneert een kopie van de string waarbij alle voorkomens van een substring zijn vervangen door een andere substring.
Syntax: string.replace(old, new)
Efficiënt Opbouwen
Herhaald gebruik van + in grote lussen kan traag zijn (veel tussentijdse strings). Een veelvoorkomend patroon is om stukjes te verzamelen en eenmaal samen te voegen:
1234# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
.join(): Voegt elementen van een iterabel (zoals een lijst) samen tot één string, gescheiden door de string waarop de methode wordt aangeroepen.
Syntaxis: separator.join([str, str, ...])
Je leert meer over samenvoeg- en opmaakpatronen in het volgende hoofdstuk.
1. Welke regel probeert een string op zijn plaats te wijzigen en zal een foutmelding geven?
2. Wat zal de code afdrukken?
3. Je moet een lange string samenstellen uit veel kleine stukjes. Wat wordt aanbevolen?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Onveranderlijkheid van Strings
In Python zijn strings onveranderlijk: eenmaal aangemaakt kunnen de tekens die ze bevatten niet ter plaatse worden gewijzigd. Elke "wijziging" die je uitvoert, creëert eigenlijk een nieuwe string. Dit is belangrijk voor de correctheid (geen onbedoelde aanpassingen ter plaatse) en voor de prestaties (hoe je grotere strings opbouwt).
Geen aanpassingen ter plaatse
Je kunt tekens lezen via hun index, maar je kunt ze niet toewijzen.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
De meeste stringmethoden retourneren een nieuwe string en laten het origineel onveranderd.
12345678# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
.strip(): verwijdert voor- en achterliggende spaties uit een string.
Syntaxis: string.strip()
Koppelen is prima, maar onthoud dat je bij elke stap een nieuw object krijgt.
123456# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
.upper(): Geeft een kopie van de string terug met alle tekens in hoofdletters.
Syntaxis: string.upper()
"Wijzigen" door een Nieuwe String te Maken
Gebruik slicing, replace of concatenatie om een nieuwe waarde te produceren.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dATa" print(s)
.replace(): retourneert een kopie van de string waarbij alle voorkomens van een substring zijn vervangen door een andere substring.
Syntax: string.replace(old, new)
Efficiënt Opbouwen
Herhaald gebruik van + in grote lussen kan traag zijn (veel tussentijdse strings). Een veelvoorkomend patroon is om stukjes te verzamelen en eenmaal samen te voegen:
1234# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
.join(): Voegt elementen van een iterabel (zoals een lijst) samen tot één string, gescheiden door de string waarop de methode wordt aangeroepen.
Syntaxis: separator.join([str, str, ...])
Je leert meer over samenvoeg- en opmaakpatronen in het volgende hoofdstuk.
Bedankt voor je feedback!