Tyyppimuunnoksen Perusteet
Pyyhkäise näyttääksesi valikon
Tyyppimuunnos mahdollistaa siirtymisen Pythonin perusdatatyyppien välillä, jotta arvoja voidaan vertailla, laskea tai esittää.
Muuntaminen int-tyyppiin
int(x) luo kokonaisluvun.
- Kokonaisluvusta: palauttaa saman luvun;
- Liukuluvusta: katkaisee kohti nollaa (esimerkiksi,
int(2.9)palauttaa2,int(-2.9)palauttaa-2); - Merkkijonosta: merkkijonon täytyy esittää kokonaislukua (valinnaiset välilyönnit ja etumerkki sallittu).
Python sallii myös alaviivat numeroiden sisällä, kuten
"1_000"— mutta vain jos: - Alaviiva on numeroiden välissä;
- Se ei ole alussa tai lopussa (
"_100","100_"); - Sitä ei toisteta tai se ei ole desimaalipisteen vieressä (
"1__000","1_.5").
Sallitut muunnokset
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
Nämä aiheuttavat ValueError-virheen
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Muuntaminen float-tyyppiin
float(x) luo liukuluvun.
- Toimii kokonaisluvuille sekä desimaali- tai tieteellisessä muodossa oleville merkkijonoille (
"3.14","1e2","5E-3"); - Pilkut eivät ole desimaalipisteitä Pythonissa (
"2,5","2.5"); - Python sallii alaviivat numeroiden sisällä numeerisissa merkkijonoissa, mutta vain jos:
- Alaviiva on numeroiden välissä;
- Se ei ole alussa tai lopussa (
"_3.14","3.14_"); - Se ei ole desimaalipisteen vieressä tai toistu peräkkäin (
"3_.14","3.__14"); - Tieteellisessä muodossa tulee noudattaa samoja sääntöjä (
"1e_3").
Sallitut muunnokset
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Nämä aiheuttavat ValueError-virheen
1float("2,5") # ValueError - use a dot, not a comma
Muuntaminen str-tyyppiin
str(x) luo ihmisen luettavissa olevan merkkijonoesityksen. Suosi f-merkkijonoja viestien rakentamisessa.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Muuntaminen bool-tyyppiin
bool(x) noudattaa Pythonin totuusarvosääntöjä.
- Numerot:
0onFalse, mikä tahansa muu numero onTrue; - Merkkijonot:
""(tyhjä) onFalse, mikä tahansa ei-tyhjä merkkijono onTrue(myös"0"ja"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Vältettävät virheet
int("2.5")aiheuttaaValueError-virheen – käytä ensinfloat(), sitten katkaise tai pyöristä;- Paikallinen tapa:
"2,5"on virheellinen – käytä"2.5"; - Totuusarvon yllätys:
bool("0")onTrue– vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksis == "0".
1. Mikä kutsu aiheuttaa ValueError-virheen?
2. Valitse oikea väittämä.
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 4. Luku 1
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 3.45Osio 4. Luku 1