Python Type Conversion en Type Casting (met voorbeelden)

In dit artikel leert u over typeconversie en het gebruik van typeconversie.

Voordat u Type Conversion in Python leert, moet u kennis hebben van Python-gegevenstypen.

Typ Conversie

Het proces van het converteren van de waarde van een gegevenstype (integer, string, float, etc.) naar een ander gegevenstype wordt typeconversie genoemd. Python heeft twee soorten typeconversie.

  1. Impliciete typeconversie
  2. Expliciete typeconversie

Impliciete typeconversie

Bij impliciete typeconversie converteert Python automatisch het ene gegevenstype naar een ander gegevenstype. Dit proces vereist geen tussenkomst van de gebruiker.

Laten we een voorbeeld bekijken waarin Python de conversie van het lagere datatype (integer) naar het hogere datatype (float) promoot om gegevensverlies te voorkomen.

Voorbeeld 1: integer omzetten in zwevend

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

Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:

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

In het bovenstaande programma,

  • We voegen twee variabelen num_int en num_flo toe, waarbij de waarde wordt opgeslagen in num_new.
  • We zullen respectievelijk het gegevenstype van alle drie de objecten bekijken.
  • In de uitvoer kunnen we zien dat het gegevenstype van num_int een is, integerterwijl het gegevenstype van num_flo een float.
  • We kunnen ook zien dat num_new een floatgegevenstype heeft omdat Python altijd kleinere gegevenstypen naar grotere gegevenstypen converteert om het verlies van gegevens te voorkomen.

Laten we nu proberen een string en een geheel getal toe te voegen, en kijken hoe Python ermee omgaat.

Voorbeeld 2: toevoeging van string (hoger) datatype en integer (lager) datatype

 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)

Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:

 Gegevenstype van num_int: Gegevenstype van num_str: Traceback (meest recente oproep laatste): Bestand "python", regel 7, in TypeError: niet-ondersteund operandtype (s) voor +: 'int' en 'str'

In het bovenstaande programma,

  • We voegen twee variabelen num_int en num_str toe.
  • Zoals we aan de output kunnen zien, hebben we TypeError. Python kan in dergelijke omstandigheden geen impliciete conversie gebruiken.
  • Python heeft echter een oplossing voor dit soort situaties die bekend staat als Expliciete Conversie.

Expliciete typeconversie

In Explicit Type Conversion converteren gebruikers het gegevenstype van een object naar het vereiste gegevenstype. We maken gebruik van de voorgeprogrammeerde functies zoals int(), float(), str(), etc om expliciete conversie uit te voeren.

Dit type conversie wordt ook wel typecasting genoemd omdat de gebruiker het datatype van de objecten cast (verandert).

Syntaxis:

 (uitdrukking)

Typecasting kan worden gedaan door de vereiste datatypefunctie aan de uitdrukking toe te wijzen.

Voorbeeld 3: toevoeging van string en integer met expliciete conversie

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

Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:

 Gegevenstype van num_int: Gegevenstype van num_str voor Type Casting: Gegevenstype van num_str na Type Casting: Som van num_int en num_str: 579 Gegevenstype van de som: 

In het bovenstaande programma,

  • We voegen num_str en num_int variabele toe.
  • We hebben num_str geconverteerd van string (hoger) naar integer (lager) type met behulp van de int()functie om de optelling uit te voeren.
  • Na het omzetten van num_str naar een geheel getal, kan Python deze twee variabelen toevoegen.
  • We hebben de num_sum-waarde en het gegevenstype als een geheel getal.

Belangrijke punten om te onthouden

  1. Typeconversie is de conversie van een object van het ene gegevenstype naar een ander gegevenstype.
  2. Impliciete typeconversie wordt automatisch uitgevoerd door de Python-interpreter.
  3. Python vermijdt het verlies van gegevens bij impliciete typeconversie.
  4. Expliciete typeconversie wordt ook wel typeconversie genoemd, de gegevenstypen van objecten worden door de gebruiker geconverteerd met behulp van vooraf gedefinieerde functies.
  5. Bij Type Casting kan gegevensverlies optreden omdat we het object afdwingen voor een specifiek gegevenstype.

Interessante artikelen...