Grundlæggende Typekonvertering
Typekonvertering gør det muligt at skifte mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises. Dette kapitel viser, hvordan man konverterer sikkert, og hvor begyndere ofte laver fejl.
Konvertering til int
int(x) opretter et heltal.
- Fra et heltal: returnerer det samme tal;
- Fra et flydende tal: afkorter mod nul (for eksempel,
int(2.9)returnerer2,int(-2.9)returnerer-2); - Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn er tilladt).
Gyldige konverteringer
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Disse udløser ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertering til float
float(x) opretter et flydende tal.
- Fungerer for heltal og decimaltal eller videnskabelig notation som tekststrenge;
- Kommaer er ikke decimalseparatorer i Python.
Gyldige konverteringer
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Disse udløser ValueError
1float("2,5") # ValueError - use a dot, not a comma
Konvertering til str
str(x) laver en menneskelæsbar strengrepræsentation. Foretræk f-strenge, når du opbygger beskeder.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Konvertering til bool
bool(x) følger Pythons sandhedsværdiregler.
- Tal:
0erFalse, alle andre tal erTrue; - Strenge:
""(tom) erFalse, enhver ikke-tom streng erTrue(selv"0"og"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Fejl at undgå
int("2.5")udløserValueError– parse somfloat()først, derefter afkort eller rund af;- Lokal vane:
"2,5"er ugyldig – brug"2.5"; - Understreger i inputstrenge:
"1_000"er ugyldig – fjern understreger først:"1_000".replace("_", ""); - Sandhedsværdi-overraskelse:
bool("0")erTrue– sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvad giver hver linje som resultat?
2. Hvilket kald udløser en ValueError?
3. Vælg den korrekte påstand.
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
Can you explain more about how type conversion works in Python?
What are some common errors beginners make with type conversion?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 5
Grundlæggende Typekonvertering
Stryg for at vise menuen
Typekonvertering gør det muligt at skifte mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises. Dette kapitel viser, hvordan man konverterer sikkert, og hvor begyndere ofte laver fejl.
Konvertering til int
int(x) opretter et heltal.
- Fra et heltal: returnerer det samme tal;
- Fra et flydende tal: afkorter mod nul (for eksempel,
int(2.9)returnerer2,int(-2.9)returnerer-2); - Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn er tilladt).
Gyldige konverteringer
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Disse udløser ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertering til float
float(x) opretter et flydende tal.
- Fungerer for heltal og decimaltal eller videnskabelig notation som tekststrenge;
- Kommaer er ikke decimalseparatorer i Python.
Gyldige konverteringer
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Disse udløser ValueError
1float("2,5") # ValueError - use a dot, not a comma
Konvertering til str
str(x) laver en menneskelæsbar strengrepræsentation. Foretræk f-strenge, når du opbygger beskeder.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Konvertering til bool
bool(x) følger Pythons sandhedsværdiregler.
- Tal:
0erFalse, alle andre tal erTrue; - Strenge:
""(tom) erFalse, enhver ikke-tom streng erTrue(selv"0"og"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Fejl at undgå
int("2.5")udløserValueError– parse somfloat()først, derefter afkort eller rund af;- Lokal vane:
"2,5"er ugyldig – brug"2.5"; - Understreger i inputstrenge:
"1_000"er ugyldig – fjern understreger først:"1_000".replace("_", ""); - Sandhedsværdi-overraskelse:
bool("0")erTrue– sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvad giver hver linje som resultat?
2. Hvilket kald udløser en ValueError?
3. Vælg den korrekte påstand.
Tak for dine kommentarer!