Conversie de tip Python și distribuție de tip (cu exemple)

În acest articol, veți afla despre conversia de tip și utilizările conversiei de tip.

Înainte de a învăța conversia de tip în Python, ar trebui să aveți cunoștințe despre tipurile de date Python.

Conversie tip

Procesul de conversie a valorii unui tip de date (întreg, șir, float etc.) la un alt tip de date se numește conversie de tip. Python are două tipuri de conversie de tip.

  1. Conversie tip implicită
  2. Conversie de tip explicită

Conversie tip implicită

În conversia de tip implicit, Python convertește automat un tip de date în alt tip de date. Acest proces nu are nevoie de implicarea utilizatorului.

Să vedem un exemplu în care Python promovează conversia tipului de date inferior (întreg) la tipul de date superior (float) pentru a evita pierderea datelor.

Exemplul 1: Conversia întregului în float

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

Când rulăm programul de mai sus, ieșirea va fi:

 datatype of num_int: datatype of num_flo: Value of num_new: 124.23 datatype of num_new: 

În programul de mai sus,

  • Adăugăm două variabile num_int și num_flo, stocând valoarea în num_new.
  • Vom analiza tipul de date al tuturor celor trei obiecte, respectiv.
  • În ieșire, putem vedea că tipul de date al num_int este un integertimp în timp ce tipul de date al num_flo este un float.
  • De asemenea, putem vedea că num_new are un floattip de date deoarece Python convertește întotdeauna tipuri de date mai mici în tipuri de date mai mari pentru a evita pierderea datelor.

Acum, să încercăm să adăugăm un șir și un număr întreg și să vedem cum se ocupă Python cu acesta.

Exemplul 2: Adăugarea tipului de date șir (mai mare) și a tipului de date întreg (inferior)

 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)

Când rulăm programul de mai sus, ieșirea va fi:

 Tipul de date num_int: Tipul de date num_str: Traceback (ultimul apel cel mai recent): Fișier „python”, linia 7, în TypeError: tipuri de operand neacceptate pentru +: „int” și „str”

În programul de mai sus,

  • Adăugăm două variabile num_int și num_str.
  • După cum putem vedea din rezultat, am obținut TypeError. Python nu poate utiliza conversia implicită în astfel de condiții.
  • Cu toate acestea, Python are o soluție pentru aceste tipuri de situații, cunoscută sub numele de conversie explicită.

Conversie de tip explicită

În Conversia tip explicită, utilizatorii convertesc tipul de date al unui obiect în tipul de date solicitat. Noi folosim funcțiile predefinite , cum ar fi int(), float(), str()etc pentru a efectua conversia de tip explicit.

Acest tip de conversie se mai numește și tipecasting deoarece utilizatorul aruncă (modifică) tipul de date al obiectelor.

Sintaxă:

 (expresie)

Tipărirea se poate face prin atribuirea funcției de tip de date cerute expresiei.

Exemplul 3: Adăugarea șirului și întregului folosind conversia explicită

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

Când rulăm programul de mai sus, ieșirea va fi:

 Tipul de date num_int: Tipul de date num_str înainte de Type Casting: Tipul de date num_str după Type Casting: Suma num_int și num_str: 579 Tipul de date al sumei: 

În programul de mai sus,

  • Adăugăm variabile num_str și num_int.
  • Am convertit num_str din șir (mai mare) în tip întreg (inferior) folosind int()funcția pentru a efectua adăugarea.
  • După convertirea num_str într-o valoare întreagă, Python poate adăuga aceste două variabile.
  • Am obținut valoarea num_sum și tipul de date pentru a fi un număr întreg.

Puncte cheie de reținut

  1. Conversia de tip este conversia obiectului dintr-un tip de date în alt tip de date.
  2. Conversia de tip implicit este efectuată automat de către interpretul Python.
  3. Python evită pierderea datelor în conversia de tip implicit.
  4. Conversia explicită de tip se mai numește tipare de tip, tipurile de date ale obiectelor sunt convertite utilizând funcții predefinite de către utilizator.
  5. În Distribuirea tipului, pierderea datelor poate apărea pe măsură ce aplicăm obiectul unui anumit tip de date.

Articole interesante...