Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tyyppimuunnoksen Perusteet | Ristikkäistyyppiset Vuorovaikutukset
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Tietotyypit Pythonissa

bookTyyppimuunnoksen 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) palauttaa 2, 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

1234567
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 print(int("1_00_0")) # 1000
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 ("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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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-virheen – käytä ensin float(), sitten katkaise tai pyöristä;
  • Paikallinen tapa: "2,5" on virheellinen – käytä "2.5";
  • Totuusarvon yllätys: bool("0") on True – vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksi s == "0".

1. Mikä kutsu aiheuttaa ValueError-virheen?

2. Valitse oikea väittämä.

question mark

Mikä kutsu aiheuttaa ValueError-virheen?

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 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) palauttaa 2, 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

1234567
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 print(int("1_00_0")) # 1000
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 ("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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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-virheen – käytä ensin float(), sitten katkaise tai pyöristä;
  • Paikallinen tapa: "2,5" on virheellinen – käytä "2.5";
  • Totuusarvon yllätys: bool("0") on True – vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksi s == "0".

1. Mikä kutsu aiheuttaa ValueError-virheen?

2. Valitse oikea väittämä.

question mark

Mikä kutsu aiheuttaa ValueError-virheen?

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