Grundläggande Typomvandling
Typomvandling möjliggör övergång mellan grundläggande Python-typer så att värden kan jämföras, beräknas eller visas.
Omvandla 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 omvandlingar
123456age_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
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 med 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 människoläsbar strängrepresentation. Använd f-strängar när du bygger meddelanden.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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. Vilket anrop ger ett ValueError?
2. 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 happens if I try to convert a string that isn't a valid number?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 3.45
Grundläggande Typomvandling
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.
Omvandla 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 omvandlingar
123456age_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
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 med 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 människoläsbar strängrepresentation. Använd f-strängar när du bygger meddelanden.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
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. Vilket anrop ger ett ValueError?
2. Välj det korrekta påståendet.
Tack för dina kommentarer!