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.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 4. Kapitel 1
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.45Avsnitt 4. Kapitel 1