Strengs Uforanderlighed
Stryg for at vise menuen
I Python er strenge immutable: Når de først er oprettet, kan tegnene i dem 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 til dem.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
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
.strip(): fjerner indledende og afsluttende mellemrum fra en streng.
Syntaks: string.strip()
Kædning er i orden, 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
.upper(): Returnerer en kopi af strengen med alle tegn i store bogstaver.
Syntaks: string.upper()
"Modificering" ved at oprette en ny streng
Brug slicing, replace eller sammenkædning for at skabe en ny værdi.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dATa" print(s)
.replace(): returnerer en kopi af strengen, hvor alle forekomster af en delstreng er erstattet med en anden delstreng.
Syntaks: string.replace(old, new)
Effektiv opbygning
Gentagen brug af + i store løkker kan være langsomt (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)
.join(): Sammenkæder elementer i et itererbart objekt (såsom en liste) til én enkelt streng, adskilt af den streng, som metoden kaldes på.
Syntaks: separator.join([str, str, ...])
Du lærer mere om sammenføjnings-/formateringsmønstre i næste kapitel.
1. Hvilken linje forsøger at ændre en streng direkte og vil give en fejl?
2. Hvad vil koden udskrive?
3. Du skal samle en lang streng fra mange små dele. Hvad anbefales?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat