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.
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).
Python tillåter även understreck i siffror, såsom
"1_000"— men endast om: - Understrecket är mellan siffror;
- Det inte är i början eller slutet (
"_100","100_"); - Det inte upprepas eller står intill en decimalpunkt (
"1__000","1_.5").
Giltiga omvandlingar
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
Dessa ger ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertering till float
float(x) skapar ett flyttal.
- Fungerar för heltal och strängar i decimal- eller vetenskaplig notation (
"3.14","1e2","5E-3"); - Kommatecken är inte decimaltecken i Python (
"2,5","2.5"); - Python tillåter understreck inuti siffror i numeriska strängar, men endast om:
- Understrecket är mellan siffror;
- Det är inte i början eller slutet (
"_3.14","3.14_"); - Det är inte intill decimaltecknet eller upprepat (
"3_.14","3.__14"); - Vetenskaplig notation måste också följa dessa regler (
"1e_3").
Giltiga konverteringar
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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 meddelanden byggs.
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"; - Sanningsvärdeöverraskning:
bool("0")ärTrue– jämför stränginnehåll explicit vid behov, till exempels == "0".
1. Vilket anrop ger en 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
Fantastiskt!
Completion betyg förbättrat till 3.45
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.
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).
Python tillåter även understreck i siffror, såsom
"1_000"— men endast om: - Understrecket är mellan siffror;
- Det inte är i början eller slutet (
"_100","100_"); - Det inte upprepas eller står intill en decimalpunkt (
"1__000","1_.5").
Giltiga omvandlingar
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
Dessa ger ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertering till float
float(x) skapar ett flyttal.
- Fungerar för heltal och strängar i decimal- eller vetenskaplig notation (
"3.14","1e2","5E-3"); - Kommatecken är inte decimaltecken i Python (
"2,5","2.5"); - Python tillåter understreck inuti siffror i numeriska strängar, men endast om:
- Understrecket är mellan siffror;
- Det är inte i början eller slutet (
"_3.14","3.14_"); - Det är inte intill decimaltecknet eller upprepat (
"3_.14","3.__14"); - Vetenskaplig notation måste också följa dessa regler (
"1e_3").
Giltiga konverteringar
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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 meddelanden byggs.
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"; - Sanningsvärdeöverraskning:
bool("0")ärTrue– jämför stränginnehåll explicit vid behov, till exempels == "0".
1. Vilket anrop ger en ValueError?
2. Välj det korrekta påståendet.
Tack för dina kommentarer!