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
Quizzes & Challenges
Quizzes
Challenges
/
Tietotyypit Pythonissa

bookTyyppimuunnoksen Perusteet

Tyyppimuunnos mahdollistaa siirtymisen Pythonin ydintyypistä toiseen, 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ä merkinnässä oleville merkkijonoille;
  • Pilkut eivät ole desimaalierottimia 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 luku 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 pyöristä tai katkaise;
  • 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") on True - vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, 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

Suggested prompts:

Can you explain more about how type conversion works in Python?

What happens if I try to convert a string that isn't a valid number?

Can you show examples of converting between other types, like lists or dictionaries?

bookTyyppimuunnoksen Perusteet

Pyyhkäise näyttääksesi valikon

Tyyppimuunnos mahdollistaa siirtymisen Pythonin ydintyypistä toiseen, 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ä merkinnässä oleville merkkijonoille;
  • Pilkut eivät ole desimaalierottimia 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 luku 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 pyöristä tai katkaise;
  • 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") on True - vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, 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