Python Type Conversie en Type Casting
Python Type Conversie en Type Casting
In dit artikel leert u over de typeconversie en het gebruik van typeconversie.
Voordat u Typeconversie in Python leert, moet u kennis hebben van Python-gegevenstypen.
Typeconversie
Het proces van het converteren van de waarde van het ene gegevenstype (integer, string, float, enz.) naar een ander gegevenstype wordt typeconversie genoemd. Python heeft twee soorten typeconversie.
- Impliciete typeconversie
- Expliciete typeconversie
Impliciete typeconversie
Bij impliciete typeconversie converteert Python automatisch het ene gegevenstype naar een ander gegevenstype. Dit proces vereist geen betrokkenheid van de gebruiker.
Laten we een voorbeeld bekijken waarin Python de conversie van het lagere gegevenstype (integer) naar het hogere gegevenstype (float) promoot om gegevensverlies te voorkomen.
Voorbeeld 1:integer converteren naar 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))
Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:
datatype of num_int: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>
In het bovenstaande programma,
- We voegen twee variabelen toe num_int en num_flo , waarbij de waarde wordt opgeslagen in num_new .
- We zullen respectievelijk naar het gegevenstype van alle drie de objecten kijken.
- In de uitvoer kunnen we het gegevenstype num_int . zien is een
integer
terwijl het gegevenstype num_flo is eenfloat
. - Ook kunnen we de num_new . zien heeft een
float
datatype omdat Python kleinere datatypes altijd converteert naar grotere datatypes om gegevensverlies 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:
Data type of num_int: <class 'int'> Data type of num_str: <class 'str'> Traceback (most recent call last): File "python", line 7, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
In het bovenstaande programma,
- We voegen twee variabelen toe num_int en num_str .
- Zoals we aan de uitvoer kunnen zien, hebben we
TypeError
. Python kan onder dergelijke omstandigheden geen Impliciete Conversie gebruiken. - Python heeft echter een oplossing voor dit soort situaties die bekend staat als Expliciete Conversie.
Expliciete typeconversie
In Expliciete typeconversie converteren gebruikers het gegevenstype van een object naar het vereiste gegevenstype. We gebruiken de vooraf gedefinieerde functies zoals int()
, float()
, str()
, enz. om expliciete typeconversie uit te voeren.
Dit type conversie wordt ook typecasting genoemd omdat de gebruiker het gegevenstype van de objecten cast (wijzigt).
Syntaxis :
<required_datatype>(expression)
Typecasting kan worden gedaan door de vereiste gegevenstypefunctie 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:
Data type of num_int: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>
In het bovenstaande programma,
- We voegen num_str . toe en num_int variabel.
- We hebben num_str . omgezet van string(hoger) naar integer(lager) type met behulp van
int()
functie om de optelling uit te voeren. - Na het converteren van num_str aan een geheel getal kan Python deze twee variabelen toevoegen.
- We hebben de num_sum waarde en gegevenstype een geheel getal zijn.
Belangrijkste punten om te onthouden
- Typeconversie is de conversie van een object van het ene gegevenstype naar een ander gegevenstype.
- Impliciete typeconversie wordt automatisch uitgevoerd door de Python-interpreter.
- Python voorkomt het verlies van gegevens bij impliciete typeconversie.
- Expliciete typeconversie wordt ook wel typecasting genoemd, de gegevenstypen van objecten worden door de gebruiker geconverteerd met behulp van vooraf gedefinieerde functies.
- Bij Type Casting kan gegevensverlies optreden als we het object afdwingen tot een specifiek gegevenstype.
Python
- C# Type conversie
- Python-sleutelwoorden en -ID's
- Python-verklaring, inspringing en opmerkingen
- Python-variabelen, constanten en literalen
- Python-gegevenstypen
- Python invoer, uitvoer en import
- Python globale, lokale en niet-lokale variabelen
- Python-nummers, typeconversie en wiskunde
- Python-directory en bestandsbeheer
- Python-fouten en ingebouwde uitzonderingen
- Java Type Casting