Pretvorba in vlivanje vrst Python (z primeri)

V tem članku boste izvedeli več o pretvorbi vrst in uporabi pretvorbe tipa.

Preden se naučite pretvorbe tipov v Pythonu, morate poznati znanje o tipih podatkov Python.

Pretvorba tipa

Postopek pretvorbe vrednosti enega podatkovnega tipa (celo število, niz, float itd.) V drug podatkovni tip se imenuje pretvorba tipa. Python ima dve vrsti pretvorbe tipa.

  1. Implicitna pretvorba tipa
  2. Izrecna pretvorba tipa

Implicitna pretvorba tipa

Pri pretvorbi implicitne vrste Python samodejno pretvori en podatkovni tip v drugega. Ta postopek ne zahteva nobenega sodelovanja uporabnika.

Poglejmo primer, kjer Python spodbuja pretvorbo nižjega podatkovnega tipa (celo število) v višji podatkovni tip (float), da se izogne ​​izgubi podatkov.

Primer 1: Pretvorba celotnega števila v plavajoče

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

Ko zaženemo zgornji program, bo rezultat:

 podatkovni tip num_int: podatkovni tip num_flo: vrednost num_new: 124.23 podatkovni tip num_new: 

V zgornjem programu

  • Dodamo dve spremenljivki num_int in num_flo, ki vrednost shranita v num_new.
  • Ogledali si bomo podatkovni tip vseh treh predmetov.
  • V izhodu lahko vidimo, da je podatkovni tip num_int, integermedtem ko je podatkovni tip num_flo a float.
  • Prav tako lahko vidimo, da ima num_new floatpodatkovni tip, ker Python vedno pretvori manjše vrste podatkov v večje vrste podatkov, da se izogne ​​izgubi podatkov.

Zdaj pa poskusimo dodati niz in celo število in poglejmo, kako se Python ukvarja z njimi.

Primer 2: Dodajanje podatkovnega tipa niza (višji) in podatkovnega tipa celo število (nižje)

 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)

Ko zaženemo zgornji program, bo rezultat:

 Podatkovni tip num_int: Podatkovni tip num_str: Sledenje (zadnji zadnji klic): Datoteka "python", vrstica 7, v TypeError: nepodprte vrste operandov za +: 'int' in 'str'

V zgornjem programu

  • Dodamo dve spremenljivki num_int in num_str.
  • Kot lahko vidimo iz rezultata, smo dobili TypeError. Python v takih pogojih ne more uporabljati implicitne pretvorbe.
  • Vendar ima Python rešitev za te vrste situacij, ki je znana kot eksplicitna pretvorba.

Izrecna pretvorba tipa

V eksplicitni pretvorbi tipov uporabniki pretvorijo podatkovni tip predmeta v zahtevani podatkovni tip. Uporabljamo vnaprej določene funkcije, kot so int(), float(), str(), itd opravljati eksplicitno pretvorbo tipa.

Ta vrsta pretvorbe se imenuje tudi tipovanje, ker uporabnik odda (spremeni) podatkovni tip predmetov.

Sintaksa:

 (izraz)

Predvajanje tipov lahko izvedete tako, da izrazu dodelite zahtevano funkcijo podatkovnega tipa.

Primer 3: Dodajanje niza in celih števil z uporabo eksplicitne pretvorbe

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

Ko zaženemo zgornji program, bo rezultat:

 Podatkovni tip num_int: Podatkovni tip num_str pred Type Casting: Podatkovni tip num_str po Type Casting: Vsota num_int in num_str: 579 Podatkovni tip vsote: 

V zgornjem programu

  • Dodamo spremenljivki num_str in num_int.
  • Num_str smo iz niza (višji) pretvorili v celoštevilčni (nižji) z uporabo int()funkcije za izvedbo seštevanja
  • Po pretvorbi num_str v celoštevilčno vrednost lahko Python doda ti dve spremenljivki.
  • Vrednost num_sum in tip podatkov imamo za celo število.

Ključne točke, ki si jih je treba zapomniti

  1. Pretvorba tipa je pretvorba predmeta iz enega podatkovnega tipa v drugega.
  2. Implicitna pretvorba tipa samodejno izvede tolmač Python.
  3. Python se izogne ​​izgubi podatkov pri implicitni pretvorbi tipa.
  4. Izrecna pretvorba tipov se imenuje tudi Casting Type, uporabnik pretvori podatkovne tipe predmetov z uporabo vnaprej določenih funkcij.
  5. Pri vlivanju tipov lahko pride do izgube podatkov, ko objekt vsilimo določenemu tipu podatkov.

Zanimive Članki...