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

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

123456
name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
copy

Kjedekalling er greit, men husk at du får et nytt objekt for hvert steg.

1234
msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
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(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
copy

Effektiv oppbygging

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:

12
parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
copy
Note
Merk

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

1. Hvilken linje forsøker å endre en streng direkte 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 direkte 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

Awesome!

Completion rate improved to 5.26

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

123456
name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
copy

Kjedekalling er greit, men husk at du får et nytt objekt for hvert steg.

1234
msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
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(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
copy

Effektiv oppbygging

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:

12
parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
copy
Note
Merk

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

1. Hvilken linje forsøker å endre en streng direkte 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 direkte 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