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

bookStrengers Uforanderlighet

I Python er strenger immutable: når de først er opprettet, kan ikke tegnene de inneholder endres direkte. Enhver "endring" du gjør, oppretter faktisk en ny streng. Dette er viktig for korrekthet (ingen utilsiktede endringer i stedet) og for ytelse (hvordan du bygger større strenger).

Ingen endringer på stedet

Du kan lese tegn ved indeks, men du kan ikke tilordne til dem.

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 lar den opprinnelige være uendret.

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

Kjedede metoder fungerer fint, men husk at du får et nytt objekt for hvert steg.

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

"Endring" ved å opprette en ny streng

Bruk slicing, replace eller sammenkobling for å produsere en ny verdi.

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

Effektiv sammensetting

Gjennomgående bruk av + i store løkker kan være tregt (mange mellomliggende strenger). Et vanlig mønster er å samle deler og slå dem sammen é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
Merk

Du vil lære mer om sammensettings- og formateringsmønstre i neste kapittel.

1. Hvilken linje forsøker å endre en streng på stedet og vil gi en feil?

2. Hva vil koden skrive ut?

3. Du må sette sammen en lang streng fra mange små deler. Hva anbefales?

question mark

Hvilken linje forsøker å endre en streng på stedet og vil gi en feil?

Select the correct answer

question mark

Hva vil koden skrive ut?

Select the correct answer

question mark

Du må sette sammen en lang streng fra mange små deler. Hva anbefales?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookStrengers Uforanderlighet

Sveip for å vise menyen

I Python er strenger immutable: når de først er opprettet, kan ikke tegnene de inneholder endres direkte. Enhver "endring" du gjør, oppretter faktisk en ny streng. Dette er viktig for korrekthet (ingen utilsiktede endringer i stedet) og for ytelse (hvordan du bygger større strenger).

Ingen endringer på stedet

Du kan lese tegn ved indeks, men du kan ikke tilordne til dem.

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 lar den opprinnelige være uendret.

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

Kjedede metoder fungerer fint, men husk at du får et nytt objekt for hvert steg.

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

"Endring" ved å opprette en ny streng

Bruk slicing, replace eller sammenkobling for å produsere en ny verdi.

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

Effektiv sammensetting

Gjennomgående bruk av + i store løkker kan være tregt (mange mellomliggende strenger). Et vanlig mønster er å samle deler og slå dem sammen é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
Merk

Du vil lære mer om sammensettings- og formateringsmønstre i neste kapittel.

1. Hvilken linje forsøker å endre en streng på stedet og vil gi en feil?

2. Hva vil koden skrive ut?

3. Du må sette sammen en lang streng fra mange små deler. Hva anbefales?

question mark

Hvilken linje forsøker å endre en streng på stedet og vil gi en feil?

Select the correct answer

question mark

Hva vil koden skrive ut?

Select the correct answer

question mark

Du må sette sammen en lang streng fra mange små deler. Hva anbefales?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
some-alt