Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Strengens Uforanderlighed | Strenge
Datatyper i Python

bookStrengens Uforanderlighed

I Python er strenge immutable: Når de først er oprettet, kan tegnene de indeholder ikke ændres direkte. Enhver "ændring" du foretager, skaber faktisk en ny streng. Dette er vigtigt for korrekthed (ingen utilsigtede ændringer i stedet) og for ydeevne (hvordan du opbygger større strenge).

Ingen ændringer på stedet

Du kan læse tegn ved indeks, men du kan ikke tildele dem nye værdier.

123456
s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
copy

De fleste strengmetoder returnerer en ny streng og lader den oprindelige være uændret.

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
copy

Kædning er acceptabelt, men husk at du får et nyt objekt ved hvert trin.

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
copy

"Ændring" ved at oprette en ny streng

Brug slicing, replace eller sammenkædning for at producere en ny værdi.

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

Effektiv opbygning

Gentagen brug af + i store løkker kan være langsom (mange mellemliggende strenge). Et almindeligt mønster er at samle dele og sammenkæde én gang:

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)
copy
Note
Bemærk

Du lærer flere sammenkædnings- og formateringsmønstre i næste kapitel.

1. Hvilken linje forsøger at ændre en streng in place og vil udløse en fejl?

2. Hvad vil koden udskrive?

3. Du skal samle en lang streng fra mange små dele. Hvad anbefales?

question mark

Hvilken linje forsøger at ændre en streng in place og vil udløse en fejl?

Select the correct answer

question mark

Hvad vil koden udskrive?

Select the correct answer

question mark

Du skal samle en lang streng fra mange små dele. Hvad anbefales?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain why string immutability is important in Python?

What are some common mistakes beginners make with string immutability?

Can you show more examples of efficient string building?

Awesome!

Completion rate improved to 3.45

bookStrengens Uforanderlighed

Stryg for at vise menuen

I Python er strenge immutable: Når de først er oprettet, kan tegnene de indeholder ikke ændres direkte. Enhver "ændring" du foretager, skaber faktisk en ny streng. Dette er vigtigt for korrekthed (ingen utilsigtede ændringer i stedet) og for ydeevne (hvordan du opbygger større strenge).

Ingen ændringer på stedet

Du kan læse tegn ved indeks, men du kan ikke tildele dem nye værdier.

123456
s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
copy

De fleste strengmetoder returnerer en ny streng og lader den oprindelige være uændret.

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
copy

Kædning er acceptabelt, men husk at du får et nyt objekt ved hvert trin.

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
copy

"Ændring" ved at oprette en ny streng

Brug slicing, replace eller sammenkædning for at producere en ny værdi.

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

Effektiv opbygning

Gentagen brug af + i store løkker kan være langsom (mange mellemliggende strenge). Et almindeligt mønster er at samle dele og sammenkæde én gang:

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)
copy
Note
Bemærk

Du lærer flere sammenkædnings- og formateringsmønstre i næste kapitel.

1. Hvilken linje forsøger at ændre en streng in place og vil udløse en fejl?

2. Hvad vil koden udskrive?

3. Du skal samle en lang streng fra mange små dele. Hvad anbefales?

question mark

Hvilken linje forsøger at ændre en streng in place og vil udløse en fejl?

Select the correct answer

question mark

Hvad vil koden udskrive?

Select the correct answer

question mark

Du skal samle en lang streng fra mange små dele. Hvad anbefales?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4
some-alt