Grundläggande Typkonvertering
Typomvandling möjliggör övergång mellan grundläggande Python-typer så att värden kan jämföras, beräknas eller visas. Detta kapitel visar hur man konverterar säkert och var nybörjare ofta gör misstag.
Konvertera till int
int(x) skapar ett heltal.
- Från ett heltal: returnerar samma tal;
- Från ett flyttal: trunkerar mot noll (till exempel,
int(2.9)returnerar2,int(-2.9)returnerar-2); - Från en sträng: strängen måste representera ett heltal (valfria mellanslag och tecken är tillåtna).
Giltiga konverteringar
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
Dessa ger ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertera till float
float(x) skapar ett flyttal.
- Fungerar för heltal och strängar i decimal- eller vetenskaplig notation;
- Kommatecken är inte decimaltecken i Python.
Giltiga konverteringar
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Dessa ger ValueError
1float("2,5") # ValueError - use a dot, not a comma
Konvertera till str
str(x) skapar en läsbar strängrepresentation. Använd f-strängar när du bygger meddelanden.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Konvertera till bool
bool(x) följer Pythons sanningsvärdesregler.
- Tal:
0ärFalse, alla andra tal ärTrue; - Strängar:
""(tom) ärFalse, alla icke-tomma strängar ärTrue(även"0"och"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Misstag att undvika
int("2.5")gerValueError– tolka somfloat()först, sedan trunkera eller avrunda;- Lokala vanor:
"2,5"är ogiltigt – använd"2.5"; - Understreck i inmatningssträngar:
"1_000"är ogiltigt – ta bort understreck först:"1_000".replace("_", ""); - Sanningsvärdesöverraskning:
bool("0")ärTrue– jämför stränginnehåll explicit vid behov, till exempels == "0".
1. Vad ger varje rad för resultat?
2. Vilket anrop ger ett ValueError?
3. Välj det korrekta påståendet.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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äggande Typkonvertering
Svep för att visa menyn
Typomvandling möjliggör övergång mellan grundläggande Python-typer så att värden kan jämföras, beräknas eller visas. Detta kapitel visar hur man konverterar säkert och var nybörjare ofta gör misstag.
Konvertera till int
int(x) skapar ett heltal.
- Från ett heltal: returnerar samma tal;
- Från ett flyttal: trunkerar mot noll (till exempel,
int(2.9)returnerar2,int(-2.9)returnerar-2); - Från en sträng: strängen måste representera ett heltal (valfria mellanslag och tecken är tillåtna).
Giltiga konverteringar
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
Dessa ger ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertera till float
float(x) skapar ett flyttal.
- Fungerar för heltal och strängar i decimal- eller vetenskaplig notation;
- Kommatecken är inte decimaltecken i Python.
Giltiga konverteringar
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Dessa ger ValueError
1float("2,5") # ValueError - use a dot, not a comma
Konvertera till str
str(x) skapar en läsbar strängrepresentation. Använd f-strängar när du bygger meddelanden.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Konvertera till bool
bool(x) följer Pythons sanningsvärdesregler.
- Tal:
0ärFalse, alla andra tal ärTrue; - Strängar:
""(tom) ärFalse, alla icke-tomma strängar ärTrue(även"0"och"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Misstag att undvika
int("2.5")gerValueError– tolka somfloat()först, sedan trunkera eller avrunda;- Lokala vanor:
"2,5"är ogiltigt – använd"2.5"; - Understreck i inmatningssträngar:
"1_000"är ogiltigt – ta bort understreck först:"1_000".replace("_", ""); - Sanningsvärdesöverraskning:
bool("0")ärTrue– jämför stränginnehåll explicit vid behov, till exempels == "0".
1. Vad ger varje rad för resultat?
2. Vilket anrop ger ett ValueError?
3. Välj det korrekta påståendet.
Tack för dina kommentarer!