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

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

Sallitut muunnokset

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 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.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
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 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") on True - vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksi s == "0".

1. Mitä kukin rivi tuottaa?

2. Mikä kutsu aiheuttaa ValueError-poikkeuksen?

3. Valitse oikea väittämä.

question-icon

Mitä kukin rivi tuottaa?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

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 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

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

Sallitut muunnokset

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 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.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
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 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") on True - vertaa merkkijonon sisältöä tarvittaessa eksplisiittisesti, esimerkiksi s == "0".

1. Mitä kukin rivi tuottaa?

2. Mikä kutsu aiheuttaa ValueError-poikkeuksen?

3. Valitse oikea väittämä.

question-icon

Mitä kukin rivi tuottaa?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

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