Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grundlæggende Typekonvertering | Interaktioner Mellem Datatyper
Datatyper i Python

bookGrundlæ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) returnerer 2, int(-2.9) returnerer -2);
  • Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn er tilladt).

Gyldige konverteringer

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
copy

Disse udløser ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Disse udløser ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Konvertering til str

str(x) laver en menneskelæsbar strengrepræsentation. Foretræk f-strenge, når du opbygger beskeder.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
copy

Konvertering til bool

bool(x) følger Pythons sandhedsværdiregler.

  • Tal: 0 er False, alle andre tal er True;
  • Strenge: "" (tom) er False, enhver ikke-tom streng er True (selv "0" og "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Fejl at undgå

  • int("2.5") udløser ValueError – parse som float() 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") er True – sammenlign strengens indhold eksplicit om nødvendigt, for eksempel s == "0".

1. Hvad giver hver linje som resultat?

2. Hvilket kald udløser en ValueError?

3. Vælg den korrekte påstand.

question-icon

Hvad giver hver linje som resultat?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket kald udløser en ValueError?

Select the correct answer

question mark

Vælg den korrekte påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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

bookGrundlæ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) returnerer 2, int(-2.9) returnerer -2);
  • Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn er tilladt).

Gyldige konverteringer

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
copy

Disse udløser ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Disse udløser ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Konvertering til str

str(x) laver en menneskelæsbar strengrepræsentation. Foretræk f-strenge, når du opbygger beskeder.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
copy

Konvertering til bool

bool(x) følger Pythons sandhedsværdiregler.

  • Tal: 0 er False, alle andre tal er True;
  • Strenge: "" (tom) er False, enhver ikke-tom streng er True (selv "0" og "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Fejl at undgå

  • int("2.5") udløser ValueError – parse som float() 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") er True – sammenlign strengens indhold eksplicit om nødvendigt, for eksempel s == "0".

1. Hvad giver hver linje som resultat?

2. Hvilket kald udløser en ValueError?

3. Vælg den korrekte påstand.

question-icon

Hvad giver hver linje som resultat?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket kald udløser en ValueError?

Select the correct answer

question mark

Vælg den korrekte påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1
some-alt