Python-tyypin muunnos ja tyyppivalu (esimerkkien avulla)

Tässä artikkelissa opit tyypin muunnoksesta ja tyypin muunnoksen käyttötavoista.

Ennen kuin opit tyypin muunnoksen Pythonissa, sinulla on oltava tietoa Python-tietotyypeistä.

Kirjoita muunnos

Prosessia, joka muuntaa yhden tietotyypin (kokonaisluku, merkkijono, kelluva jne.) Arvon toiseen tietotyyppiin, kutsutaan tyypin muunnokseksi. Pythonilla on kahden tyyppisiä muunnoksia.

  1. Epäsuora tyypin muunnos
  2. Täsmällinen tyypin muunnos

Epäsuora tyypin muunnos

Implisiittityypin muunnoksessa Python muuntaa automaattisesti yhden tietotyypin toiseksi tietotyypiksi. Tämä prosessi ei vaadi käyttäjän osallistumista.

Katsotaanpa esimerkki, jossa Python edistää alemman tietotyypin (kokonaisluku) muuntamista ylemmäksi tietotyypiksi (float) tietojen häviämisen välttämiseksi.

Esimerkki 1: Muunnetaan kokonaisluku kelluvaksi

 num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))

Kun suoritamme yllä olevan ohjelman, tulos on:

 num_int-tietotyyppi: num_flo-tietotyyppi: num_new-arvo: 124.23 num_new-tietotyyppi: 

Yllä olevassa ohjelmassa

  • Lisätään kaksi muuttujaa num_int ja num_flo, joka tallentaa arvon num_new.
  • Tarkastelemme vastaavasti kaikkien kolmen objektin tietotyyppiä.
  • Lähdössä voimme nähdä, että num_int-tietotyyppi on jonkin integeraikaa, kun taas num_flo-tietotyyppi on a float.
  • Voimme myös nähdä, että num_new: llä on floattietotyyppi, koska Python muuntaa aina pienemmät tietotyypit suuremmiksi tietotyypeiksi tietojen menetyksen välttämiseksi.

Yritetään nyt lisätä merkkijono ja kokonaisluku ja nähdä, kuinka Python käsittelee sitä.

Esimerkki 2: Merkkijonon (ylempi) tietotyypin ja kokonaisluvun (alempi) tietotyypin lisääminen

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)

Kun suoritamme yllä olevan ohjelman, tulos on:

 Num_int-tietotyyppi: num_str-tietotyyppi: Traceback (viimeisin puhelu viimeisin): Tiedosto "python", rivi 7, TypeError: ei-tuetut operandityypit +: 'int' ja 'str'

Yllä olevassa ohjelmassa

  • Lisätään kaksi muuttujaa num_int ja num_str.
  • Kuten voimme nähdä tuotoksesta, saimme TypeError. Python ei pysty käyttämään implisiittistä muunnosta tällaisissa olosuhteissa.
  • Pythonilla on kuitenkin ratkaisu tämän tyyppisiin tilanteisiin, joka tunnetaan nimellä Explicit Conversion.

Täsmällinen tyypin muunnos

Explicit Type Conversion -ohjelmassa käyttäjät muuttavat objektin tietotyypin vaadittavaksi tietotyypiksi. Käytämme ennalta toimintoja kuten int(), float(), str()jne suorittamaan nimenomaisen tyypin muuntaminen.

Tämän tyyppistä muunnosta kutsutaan myös tyyppilähetykseksi, koska käyttäjä heittää (muuttaa) objektien tietotyypin.

Syntaksi :

 (ilmaisu)

Kirjasinkoko voidaan tehdä määrittämällä lausekkeelle vaadittu tietotyyppitoiminto.

Esimerkki 3: Merkkijonon ja kokonaisluvun lisääminen nimenomaisen muunnoksen avulla

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))

Kun suoritamme yllä olevan ohjelman, tulos on:

 Tietotyyppi num_int: Tietotyyppi num_str ennen Type Casting: Tietotyyppi num_str ennen Type Casting: Summa num_int ja num_str: 579 Summan tietotyyppi: 

Yllä olevassa ohjelmassa

  • Lisätään muuttuja num_str ja num_int.
  • Muunnimme num_str merkkijonosta (ylempi) kokonaislukutyypiksi (alempi) int()funktion avulla lisäyksen suorittamiseksi.
  • Muunnettuaan num_str kokonaisluvuksi Python pystyy lisäämään nämä kaksi muuttujaa.
  • Saimme num_sum-arvon ja tietotyypin olevan kokonaisluku.

Avainkohdat, jotka on muistettava

  1. Tyypin muunnos on objektin muuntaminen yhdestä tietotyypistä toiseen tietotyypiksi.
  2. Implicit Type Conversion suorittaa automaattisesti Python-tulkki.
  3. Python välttää tietojen menetystä implisiittisen tyypin muunnoksessa.
  4. Täsmällistä tyypin muunnosta kutsutaan myös tyypin Castingiksi, objektien tietotyypit muunnetaan käyttäjän ennalta määrittelemien toimintojen avulla.
  5. Type Casting -ohjelmassa tietoja voi kadota, kun pakotamme objektin tietylle tietotyypille.

Mielenkiintoisia artikkeleita...