Python-typkonvertering och typgjutning (med exempel)

I den här artikeln lär du dig om typkonvertering och användningen av typkonvertering.

Innan du lär dig typkonvertering i Python bör du ha kunskap om Python-datatyper.

Skriv konvertering

Processen för att konvertera värdet för en datatyp (heltal, sträng, float, etc.) till en annan datatyp kallas typkonvertering. Python har två typer av typkonvertering.

  1. Implicit typkonvertering
  2. Explicit typkonvertering

Implicit typkonvertering

I Implicit typkonvertering konverterar Python automatiskt en datatyp till en annan datatyp. Denna process behöver inget användarinblandning.

Låt oss se ett exempel där Python främjar omvandlingen av den lägre datatypen (heltal) till den högre datatypen (float) för att undvika dataförlust.

Exempel 1: Konvertera heltal till flytande

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

När vi kör ovanstående program blir resultatet:

 datatyp av num_int: datatyp av num_flo: Värde av num_new: 124.23 datatyp av num_new: 

I ovanstående program,

  • Vi lägger till två variabler num_int och num_flo och lagrar värdet i num_new.
  • Vi tittar på datatypen för alla tre objekten respektive.
  • I utgången kan vi se datatypen num_int är en integermedan datatypen num_flo är en float.
  • Vi kan också se att num_new har en floatdatatyp eftersom Python alltid konverterar mindre datatyper till större datatyper för att undvika dataförlust.

Låt oss nu försöka lägga till en sträng och ett heltal och se hur Python hanterar det.

Exempel 2: Tillägg av sträng (högre) datatyp och heltal (lägre) datatyp

 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)

När vi kör ovanstående program blir resultatet:

 Datatyp av num_int: Datatyp av num_str: Traceback (senaste samtalet senast): Fil "python", rad 7, i TypeError: operatyp (er) som inte stöds för +: 'int' och 'str'

I ovanstående program,

  • Vi lägger till två variabler num_int och num_str.
  • Som vi kan se från produktionen fick vi det TypeError. Python kan inte använda Implicit Conversion under sådana förhållanden.
  • Python har dock en lösning för dessa typer av situationer som kallas Explicit Conversion.

Explicit typkonvertering

I Explicit Type Conversion konverterar användare datatypen för ett objekt till erforderlig datatyp. Vi använder de fördefinierade funktioner som int(), float(), str(), etc för att utföra explicit typomvandling.

Denna typ av konvertering kallas också typprognos eftersom användaren kastar (ändrar) datatypen för objekten.

Syntax:

 (uttryck)

Typprognosering kan göras genom att tilldela uttrycket den önskade datatypfunktionen.

Exempel 3: Tillägg av sträng och heltal med hjälp av explicit konvertering

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

När vi kör ovanstående program blir resultatet:

 Datatyp num_int: Datatyp num_str före typgjutning: Datatyp num_str efter typgjutning: Summan av num_int och num_str: 579 Datatyp för summan: 

I ovanstående program,

  • Vi lägger till num_str och num_int variabel.
  • Vi konverterade num_str från sträng (högre) till heltal (lägre) typ med hjälp av int()funktionen för att utföra tillägget.
  • Efter att ha konverterat num_str till ett heltal kan Python lägga till dessa två variabler.
  • Vi fick num_sum-värdet och datatypen att vara ett heltal.

Viktiga punkter att komma ihåg

  1. Typkonvertering är konvertering av objekt från en datatyp till en annan datatyp.
  2. Implicit typkonvertering utförs automatiskt av Python-tolk.
  3. Python undviker förlust av data i Implicit Type Conversion.
  4. Explicit Type Conversion kallas också Type Casting, datatyperna av objekt konverteras med hjälp av fördefinierade funktioner av användaren.
  5. I typgjutning kan dataförlust inträffa när vi tvingar objektet till en specifik datatyp.

Intressanta artiklar...