Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tyyppimuunnoksen Perusteet | Ristikkäiset Tyyppivuorovaikutukset
Tietotyypit Pythonissa

bookTyyppimuunnoksen Perusteet

Tyyppimuunnos mahdollistaa siirtymisen Pythonin perusarvotyyppien 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) palauttaa 2, int(-2.9) palauttaa -2);
  • Merkkijonosta: merkkijonon täytyy esittää kokonaislukua (valinnaiset välilyönnit ja etumerkki sallittu).

Sallitut muunnokset

123456
age_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
copy

Nämä aiheuttavat ValueError-virheen

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Muuntaminen float-tyyppiin

float(x) luo liukuluvun.

  • Toimii kokonaisluvuille sekä desimaali- tai tieteellisessä muodossa oleville merkkijonoille;
  • Pilkut eivät ole desimaalipisteitä Pythonissa.

Sallitut muunnokset

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Nämä aiheuttavat ValueError-virheen

1
float("2,5") # ValueError - use a dot, not a comma
copy

Muuntaminen str-tyyppiin

str(x) luo ihmisen luettavissa olevan merkkijonoesityksen. Suosi f-merkkijonoja viestien rakentamisessa.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

Muuntaminen bool-tyyppiin

bool(x) noudattaa Pythonin totuusarvosääntöjä.

  • Numerot: 0 on False, mikä tahansa muu numero on True;
  • Merkkijonot: "" (tyhjä) on False, mikä tahansa ei-tyhjä merkkijono on True (myös "0" ja "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Vältettävät virheet

  • int("2.5") aiheuttaa ValueError - käytä ensin float(), sitten katkaise tai pyöristä;
  • Paikallinen tapa: "2,5" ei kelpaa - käytä "2.5";
  • Alaviivat syötemerkkijonoissa: "1_000" ei kelpaa - poista alaviivat ensin: "1_000".replace("_", "");
  • Totuusarvon yllätys: bool("0") on True - vertaa merkkijonon sisältöä tarvittaessa suoraan, esimerkiksi s == "0".

1. Mikä kutsu aiheuttaa ValueError-poikkeuksen?

2. Valitse oikea väittämä.

question mark

Mikä kutsu aiheuttaa ValueError-poikkeuksen?

Select the correct answer

question mark

Valitse oikea väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookTyyppimuunnoksen Perusteet

Pyyhkäise näyttääksesi valikon

Tyyppimuunnos mahdollistaa siirtymisen Pythonin perusarvotyyppien 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) palauttaa 2, int(-2.9) palauttaa -2);
  • Merkkijonosta: merkkijonon täytyy esittää kokonaislukua (valinnaiset välilyönnit ja etumerkki sallittu).

Sallitut muunnokset

123456
age_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
copy

Nämä aiheuttavat ValueError-virheen

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Muuntaminen float-tyyppiin

float(x) luo liukuluvun.

  • Toimii kokonaisluvuille sekä desimaali- tai tieteellisessä muodossa oleville merkkijonoille;
  • Pilkut eivät ole desimaalipisteitä Pythonissa.

Sallitut muunnokset

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Nämä aiheuttavat ValueError-virheen

1
float("2,5") # ValueError - use a dot, not a comma
copy

Muuntaminen str-tyyppiin

str(x) luo ihmisen luettavissa olevan merkkijonoesityksen. Suosi f-merkkijonoja viestien rakentamisessa.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

Muuntaminen bool-tyyppiin

bool(x) noudattaa Pythonin totuusarvosääntöjä.

  • Numerot: 0 on False, mikä tahansa muu numero on True;
  • Merkkijonot: "" (tyhjä) on False, mikä tahansa ei-tyhjä merkkijono on True (myös "0" ja "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Vältettävät virheet

  • int("2.5") aiheuttaa ValueError - käytä ensin float(), sitten katkaise tai pyöristä;
  • Paikallinen tapa: "2,5" ei kelpaa - käytä "2.5";
  • Alaviivat syötemerkkijonoissa: "1_000" ei kelpaa - poista alaviivat ensin: "1_000".replace("_", "");
  • Totuusarvon yllätys: bool("0") on True - vertaa merkkijonon sisältöä tarvittaessa suoraan, esimerkiksi s == "0".

1. Mikä kutsu aiheuttaa ValueError-poikkeuksen?

2. Valitse oikea väittämä.

question mark

Mikä kutsu aiheuttaa ValueError-poikkeuksen?

Select the correct answer

question mark

Valitse oikea väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
some-alt