Tyyppimuunnoksen Perusteet
Tyyppimuunnos mahdollistaa siirtymisen Pythonin perusdatatyyppien välillä, jotta arvoja voidaan vertailla, laskea tai näyttää. Tässä luvussa käsitellään turvallista muuntamista ja yleisiä aloittelijoiden virheitä.
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).
Sallitut muunnokset
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
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ä merkinnässä oleville merkkijonoille;
- Pilkut eivät ole desimaalierottimia Pythonissa.
Sallitut muunnokset
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
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.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Muuntaminen bool-tyyppiin
bool(x) noudattaa Pythonin totuusarvosääntöjä.
- Numerot:
0onFalse, mikä tahansa muu luku 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- käytä ensinfloat(), sitten katkaise tai pyöristä;- Paikallinen tapa:
"2,5"on virheellinen - käytä"2.5"; - Alaviivat syötesarjoissa:
"1_000"on virheellinen - poista alaviivat ensin:"1_000".replace("_", ""); - Totuusarvon yllätys:
bool("0")onTrue- vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksis == "0".
1. Mitä kukin rivi tuottaa?
2. Mikä kutsu aiheuttaa ValueError-poikkeuksen?
3. Valitse oikea väittämä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain more about how type conversion works in Python?
What are some common errors beginners make with type conversion?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 5
Tyyppimuunnoksen Perusteet
Pyyhkäise näyttääksesi valikon
Tyyppimuunnos mahdollistaa siirtymisen Pythonin perusdatatyyppien välillä, jotta arvoja voidaan vertailla, laskea tai näyttää. Tässä luvussa käsitellään turvallista muuntamista ja yleisiä aloittelijoiden virheitä.
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).
Sallitut muunnokset
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
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ä merkinnässä oleville merkkijonoille;
- Pilkut eivät ole desimaalierottimia Pythonissa.
Sallitut muunnokset
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
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.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Muuntaminen bool-tyyppiin
bool(x) noudattaa Pythonin totuusarvosääntöjä.
- Numerot:
0onFalse, mikä tahansa muu luku 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- käytä ensinfloat(), sitten katkaise tai pyöristä;- Paikallinen tapa:
"2,5"on virheellinen - käytä"2.5"; - Alaviivat syötesarjoissa:
"1_000"on virheellinen - poista alaviivat ensin:"1_000".replace("_", ""); - Totuusarvon yllätys:
bool("0")onTrue- vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksis == "0".
1. Mitä kukin rivi tuottaa?
2. Mikä kutsu aiheuttaa ValueError-poikkeuksen?
3. Valitse oikea väittämä.
Kiitos palautteestasi!