Grundlæggende Typekonvertering
Typekonvertering muliggør overførsel mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises.
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).
Python tillader også understreger inde i cifre, såsom
"1_000"— men kun hvis: - Understregen er mellem cifre;
- Den er ikke i begyndelsen eller slutningen (
"_100","100_"); - Den er ikke gentaget eller placeret ved siden af et decimalkomma (
"1__000","1_.5").
Gyldige konverteringer
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
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 decimale eller videnskabelig notation-strenge (
"3.14","1e2","5E-3"); - Kommaer er ikke decimalseparatorer i Python (
"2,5","2.5"); - Python tillader understreger i tal i numeriske strenge, men kun hvis:
- Understregen er mellem cifre;
- Den er ikke i starten eller slutningen (
"_3.14","3.14_"); - Den er ikke ved siden af decimalseparatoren eller gentaget (
"3_.14","3.__14"); - Videnskabelig notation skal også følge disse regler (
"1e_3").
Gyldige konverteringer
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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"; - Overraskelse ved sandhedsværdi:
bool("0")erTrue– sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvilket kald udløser en ValueError?
2. 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 underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Fantastisk!
Completion rate forbedret til 3.45
Grundlæggende Typekonvertering
Stryg for at vise menuen
Typekonvertering muliggør overførsel mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises.
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).
Python tillader også understreger inde i cifre, såsom
"1_000"— men kun hvis: - Understregen er mellem cifre;
- Den er ikke i begyndelsen eller slutningen (
"_100","100_"); - Den er ikke gentaget eller placeret ved siden af et decimalkomma (
"1__000","1_.5").
Gyldige konverteringer
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
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 decimale eller videnskabelig notation-strenge (
"3.14","1e2","5E-3"); - Kommaer er ikke decimalseparatorer i Python (
"2,5","2.5"); - Python tillader understreger i tal i numeriske strenge, men kun hvis:
- Understregen er mellem cifre;
- Den er ikke i starten eller slutningen (
"_3.14","3.14_"); - Den er ikke ved siden af decimalseparatoren eller gentaget (
"3_.14","3.__14"); - Videnskabelig notation skal også følge disse regler (
"1e_3").
Gyldige konverteringer
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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"; - Overraskelse ved sandhedsværdi:
bool("0")erTrue– sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvilket kald udløser en ValueError?
2. Vælg den korrekte påstand.
Tak for dine kommentarer!