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.
Var alt klart?
Tak for dine kommentarer!
Sektion 4. Kapitel 1
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
Fantastisk!
Completion rate forbedret til 3.45Sektion 4. Kapitel 1