Pythoni tüübi teisendamine ja tüübi ülekandmine (koos näidetega)

Selles artiklis leiate teavet tüübi teisendamise ja tüübi teisendamise kasutamise kohta.

Enne Pythonis tüüpi teisendamise õppimist peaksid teil olema teadmised Pythoni andmetüüpide kohta.

Sisestage teisendus

Ühe andmetüübi (täisarv, string, ujuk jne) väärtuse teisendamise protsessi teiseks andmetüübiks nimetatakse tüübikonversiooniks. Pythonil on kahte tüüpi teisendusi.

  1. Kaudne tüübikonversioon
  2. Selgesõnaline tüübikonversioon

Kaudne tüübikonversioon

Varjatud tüübi teisendamisel teisendab Python automaatselt ühe andmetüübi teiseks andmetüübiks. See protsess ei vaja kasutaja sekkumist.

Vaatame näidet, kus Python edendab andmete kadumise vältimiseks madalama andmetüübi (täisarv) teisendamist kõrgemaks andmetüübiks (ujuk).

Näide 1: täisarvu teisendamine ujukiks

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

Ülaltoodud programmi käivitamisel on väljund:

 num_int andmetüüp: num_flo andmetüüp: num_new väärtus: 124.23 num_new andmetüüp: 

Ülaltoodud programmis

  • Lisame kaks muutujat num_int ja num_flo, salvestades väärtuse num_new.
  • Vaatame vastavalt kõigi kolme objekti andmetüüpi.
  • Väljundis näeme, et andmetüüp num_int on aeg, integersamas kui num_flo andmetüüp on a float.
  • Samuti näeme, et num_new-l on floatandmetüüp, kuna Python teisendab väiksemad andmetüübid alati suuremaks, et vältida andmete kadumist.

Proovime nüüd lisada stringi ja täisarvu ning vaadata, kuidas Python sellega tegeleb.

Näide 2: stringi (suurema) andmetüübi ja täisarvu (alumise) andmetüübi lisamine

 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)

Ülaltoodud programmi käivitamisel on väljund:

 Num_int andmetüüp: num_str andmetüüp: Traceback (viimane kõne viimati): fail "python", rida 7, TypeErroris: + int 'ja' str 'toetamata operandi tüüp (tüübid)

Ülaltoodud programmis

  • Lisame kaks muutujat num_int ja num_str.
  • Nagu väljundist näeme, saime TypeError. Python ei saa sellistes tingimustes kasutada kaudset teisendamist.
  • Kuid Pythonil on seda tüüpi olukordade jaoks lahendus, mida nimetatakse selgesõnaliseks teisendamiseks.

Selgesõnaline tüübikonversioon

Selgesõnalise tüübi teisendamisel teisendavad kasutajad objekti andmetüübi nõutavaks andmetüübiks. Me kasutame eelmääratud funktsioone nagu int(), float(), str()jne teha selgesõnaline tüübi muutmise.

Seda tüüpi teisendamist nimetatakse ka tüübiväljaandeks, kuna kasutaja heidab (muudab) objektide andmetüüpi.

Süntaks:

 (avaldis)

Kirjutamise saab teha, määrates avaldisele vajaliku andmetüübi funktsiooni.

Näide 3: stringi ja täisarvu lisamine selgesõnalise teisendamise abil

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

Ülaltoodud programmi käivitamisel on väljund:

 Num_int andmetüüp: num_str andmetüüp enne tüübi ülekandmist: num_str andmetüüp pärast tüübi ülekandmist: num_int ja num_str summa: 579 summa summa andmetüüp: 

Ülaltoodud programmis

  • Lisame muutuja num_str ja num_int.
  • Teisendasime num_str stringist (suurem) täisarvuks (madalam), kasutades int()funktsiooni lisamise teostamiseks.
  • Pärast arvu_str teisendamist täisarvuks on Python võimeline lisama need kaks muutujat.
  • Saime väärtuse num_sum ja andmetüübi täisarvuks.

Peamised punktid, mida meeles pidada

  1. Tüübi teisendamine on objekti teisendamine ühest andmetüübist teiseks.
  2. Kaudse tüübi teisenduse teostab Pythoni tõlk automaatselt.
  3. Python väldib implitsiitsete tüüpide teisendamisel andmete kadumist.
  4. Selget tüüpi teisendamist nimetatakse ka tüübi ülekandmiseks, objektide andmetüübid teisendatakse kasutaja poolt eelnevalt määratletud funktsioonide abil.
  5. Tüübi ülekandmisel võib andmete kadumine ilmneda, kui sunnime objekti kindlale andmetüübile.

Huvitavad Artiklid...