Tyyppimuunnoksen Perusteet
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ä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 3.45
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ä.
Kiitos palautteestasi!