Conversione del tipo Python e casting del tipo (con esempi)

In questo articolo imparerai a conoscere la conversione del tipo e gli usi della conversione del tipo.

Prima di imparare la conversione dei tipi in Python, dovresti avere una conoscenza dei tipi di dati Python.

Tipo di conversione

Il processo di conversione del valore di un tipo di dati (intero, stringa, float, ecc.) In un altro tipo di dati è chiamato conversione del tipo. Python ha due tipi di conversione del tipo.

  1. Conversione di tipo implicita
  2. Conversione di tipo esplicita

Conversione di tipo implicita

Nella conversione di tipo implicita, Python converte automaticamente un tipo di dati in un altro tipo di dati. Questo processo non richiede alcun coinvolgimento dell'utente.

Vediamo un esempio in cui Python promuove la conversione del tipo di dati inferiore (intero) nel tipo di dati superiore (float) per evitare la perdita di dati.

Esempio 1: conversione di un intero in 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))

Quando eseguiamo il programma sopra, l'output sarà:

 datatype di num_int: datatype di num_flo: valore di num_new: 124.23 datatype di num_new: 

Nel programma sopra,

  • Aggiungiamo due variabili num_int e num_flo, memorizzando il valore in num_new.
  • Esamineremo rispettivamente il tipo di dati di tutti e tre gli oggetti.
  • Nell'output, possiamo vedere che il tipo di dati di num_int è un integermentre il tipo di dati di num_flo è un float.
  • Inoltre, possiamo vedere che num_new ha un floattipo di dati perché Python converte sempre tipi di dati più piccoli in tipi di dati più grandi per evitare la perdita di dati.

Ora, proviamo ad aggiungere una stringa e un numero intero e vediamo come Python lo gestisce.

Esempio 2: aggiunta del tipo di dati stringa (superiore) e del tipo di dati intero (inferiore)

 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)

Quando eseguiamo il programma sopra, l'output sarà:

 Tipo di dati di num_int: Tipo di dati di num_str: Traceback (la chiamata più recente per ultima): File "python", riga 7, in TypeError: tipi di operandi non supportati per +: 'int' e 'str'

Nel programma sopra,

  • Aggiungiamo due variabili num_int e num_str.
  • Come possiamo vedere dall'output, abbiamo ottenuto TypeError. Python non è in grado di utilizzare la conversione implicita in tali condizioni.
  • Tuttavia, Python ha una soluzione per questi tipi di situazioni che è nota come conversione esplicita.

Conversione di tipo esplicita

Nella conversione esplicita del tipo, gli utenti convertono il tipo di dati di un oggetto nel tipo di dati richiesto. Usiamo le funzioni predefinite come int(), float(), str(), ecc per eseguire la conversione di tipo esplicita.

Questo tipo di conversione è anche chiamato typecasting perché l'utente esegue il cast (modifica) il tipo di dati degli oggetti.

Sintassi:

 (espressione)

Il typecasting può essere eseguito assegnando la funzione del tipo di dati richiesta all'espressione.

Esempio 3: aggiunta di stringa e numero intero utilizzando la conversione esplicita

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

Quando eseguiamo il programma sopra, l'output sarà:

 Tipo di dati di num_int: Tipo di dati di num_str prima di Type Casting: Tipo di dati di num_str dopo Type Casting: Somma di num_int e num_str: 579 Tipo di dati della somma: 

Nel programma sopra,

  • Aggiungiamo num_str e num_int variabili.
  • Abbiamo convertito num_str da stringa (superiore) a intero (inferiore) utilizzando la int()funzione per eseguire l'addizione.
  • Dopo aver convertito num_str in un valore intero, Python è in grado di aggiungere queste due variabili.
  • Abbiamo ottenuto che il valore num_sum e il tipo di dati siano un numero intero.

Punti chiave da ricordare

  1. La conversione del tipo è la conversione di un oggetto da un tipo di dati a un altro tipo di dati.
  2. La conversione implicita del tipo viene eseguita automaticamente dall'interprete Python.
  3. Python evita la perdita di dati nella conversione implicita dei tipi.
  4. La conversione esplicita dei tipi è anche chiamata Type Casting, i tipi di dati degli oggetti vengono convertiti utilizzando funzioni predefinite dall'utente.
  5. In Type Casting, potrebbe verificarsi una perdita di dati poiché applichiamo l'oggetto a un tipo di dati specifico.

Articoli interessanti...