Grunnleggende om Typekonvertering
Sveip for å vise menyen
Typekonvertering gjør det mulig å bevege seg mellom grunnleggende Python-typer slik at verdier kan sammenlignes, beregnes eller vises.
Konvertering til int
int(x) lager et heltall.
- Fra en int: returnerer det samme tallet;
- Fra en float: trunkerer mot null (for eksempel,
int(2.9)gir2,int(-2.9)gir-2); - Fra en streng: strengen må representere et heltall (valgfritt mellomrom og fortegn er tillatt).
Python tillater også understreker inne i sifre, som
"1_000"— men kun hvis: - Understreken er mellom sifre;
- Den er ikke i begynnelsen eller slutten (
"_100","100_"); - Den er ikke gjentatt eller ved siden av et desimalpunktum (
"1__000","1_.5").
Gyldige konverteringer
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
Disse gir ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Konvertering til float
float(x) lager et flyttall.
- Fungerer for heltall og desimal- eller vitenskapelig-notasjon-strenger (
"3.14","1e2","5E-3"); - Komma er ikke desimaltegn i Python (
"2,5","2.5"); - Python tillater understreker inne i sifre i numeriske strenger, men kun hvis:
- Understreken er mellom sifre;
- Den er ikke i begynnelsen eller slutten (
"_3.14","3.14_"); - Den er ikke ved siden av desimalpunktumet eller gjentatt (
"3_.14","3.__14"); - Vitenskapelig notasjon må også følge disse reglene (
"1e_3").
Gyldige konverteringer
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Disse gir ValueError
1float("2,5") # ValueError - use a dot, not a comma
Konvertering til str
str(x) lager en menneskelesbar strengrepresentasjon. Foretrekk f-strenger når du bygger meldinger.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Konvertering til bool
bool(x) følger Pythons sannhetsverdi-regler.
- Tall:
0erFalse, alle andre tall erTrue; - Strenger:
""(tom) erFalse, enhver ikke-tom streng erTrue(også"0"og"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Feil å unngå
int("2.5")girValueError– brukfloat()først, deretter trunker eller rund av;- Lokal vane:
"2,5"er ugyldig – bruk"2.5"; - Overraskelse med sannhetsverdi:
bool("0")erTrue– sammenlign strenginnhold eksplisitt om nødvendig, for eksempels == "0".
1. Hvilket kall gir en ValueError?
2. Velg den korrekte påstanden.
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 4. Kapittel 1
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Fantastisk!
Completion rate forbedret til 3.45Seksjon 4. Kapittel 1