Torna al blog

Python 3: Guida alla conversione dei tipi di dati

Python 3: Guida alla conversione dei tipi di dati

Introduzione

Python è un linguaggio di programmazione che viene spesso utilizzato per scopi di integrazione di sistema. Questo linguaggio utilizza qualcosa chiamato ‘tipi di dati’. Questi tipi di dati aiutano a classificare o definire un determinato tipo di dati. Ciò significa che un particolare tipo di dati si riferisce a valori e operazioni specifici che è possibile applicarvi. Ogni tipo di dati viene programmato e modificato in modo diverso. Questo perché ogni tipo di dati ha una natura diversa. Ad esempio, potresti avere a che fare con stringhe o numeri interi.

L'obiettivo di questa guida è aiutarti a familiarizzare con i vari tipi di dati in Python. Non solo, ma faremo anche una discussione approfondita su come convertire i tipi di dati l'uno nell'altro. Al termine di questo tutorial, dovresti conoscere tipi di dati come numeri, stringhe, tuple e liste, e come convertirli.

Conversione di numeri

Quando parliamo di numeri in Python, potremmo riferirci a una di due opzioni. Potremmo avere a che fare con interi o float. Potrebbero esserci momenti in cui è necessario convertire l'uno nell'altro. È possibile convertire facilmente gli interi in numeri a virgola mobile e i float in interi.

  • Conversione: da interi a float

Innanzitutto, inizieremo esplorando come convertire gli interi in float. Il mezzo per farlo è con un comando chiamato float(). Questa funzione convertirà qualsiasi intero dato in un float con decimali. Tutto quello che devi fare è inserire l'intero all'interno delle parentesi. Ad esempio, supponiamo che tu voglia convertire l'intero 57 in un tipo di dati float. Ecco come faresti per convertirlo:

Come risultato dell'esecuzione di questo comando, l'intero 57 cambierà nel float 57.0.

Un altro modo per farlo sarebbe usare una variabile. Puoi denotare il tuo intero tramite una variabile e poi stampare il float con il comando precedente. Diciamo che dichiari la variabile f come uguale a 57. Ecco come andrebbe la conversione in questo caso:

  • Conversione: da float a interi

È anche possibile convertire i float in interi. Similmente al comando precedente, questa conversione può essere eseguita utilizzando la funzione int(). Proprio come l'ultima volta, tutto ciò che devi fare è aggiungere il numero a virgola mobile all'interno delle parentesi che seguono la funzione.

Nel nostro esempio, convertiremo il float 390 in un intero. Per effettuare la conversione, eseguiremo il seguente comando:

Come risultato dell'esecuzione di questa funzione, 390 cambierà nella sua forma float: 390.8.

Allo stesso modo, puoi eseguire la conversione con l'aiuto delle variabili. Non solo, ma puoi eseguire più conversioni contemporaneamente. Supponiamo che b sia uguale a 125.0 e c sia uguale a 390.8. Ecco come stamperesti questi valori a virgola mobile:

Come puoi vedere, gli interi si sono trasformati con successo in float.

Una cosa importante da ricordare durante la conversione da float a intero è che la funzione non arrotonda i valori. Questo significa che la parte decimale del float viene semplicemente rimossa. La funzione non arrotonderà un valore come 390.8 a 390- rimuoverà semplicemente le 0.8 unità per darti un intero.

  • Conversione: tramite divisione

È anche possibile convertire gli interi in float tramite divisione. Dividere gli interi tra loro può darti un quoziente che è un numero a virgola mobile. Ad esempio, dividendo 5 per 2, la risposta che riceverai sarà 2.5, che è un float. Dai un'occhiata:

Questa è una caratteristica speciale di Python 3. In Python 2, l'esecuzione di una tale divisione fornirebbe solo un intero come risposta, in questo modo: 5 / 2 = 2.

Conversione con le stringhe

Prima di iniziare a parlare di come eseguire la conversione con stringhe, è necessario sapere cosa siano effettivamente le stringhe. Se non lo sai già, le stringhe sono sequenze di caratteri. Può trattarsi di una stringa di lettere, numeri, simboli o qualsiasi altro carattere. Potresti conoscere le stringhe in associazione ai dati informatici. Questo perché i computer utilizzano frequentemente questo tipo di dati per eseguire le loro operazioni.

Se hai a che fare con dati generati dagli utenti, dovrai eseguire spesso queste conversioni. Ecco perché è utile sapere come trasformare i numeri in stringhe e convertire le stringhe in numeri.

  • Conversione: da numeri a stringhe

Puoi usare la funzione str() per convertire i numeri in stringhe. Come prima, inserirai il valore che desideri convertire all'interno delle parentesi. Questo valore può essere un numero o una variabile. Per cominciare, osserviamo come convertiresti un intero, come 12, in un valore stringa:

Come puoi vedere, l'output mostra un valore stringa. Il valore stringa è indicato dalle virgolette.

D'altra parte, puoi anche inserire variabili all'interno della funzione invece di numeri interi. È qui che la funzione diventa davvero utile. Ad esempio, considera di voler tracciare e segnalare quante righe di codice un utente sta scrivendo in un determinato intervallo di tempo. Per mostrare queste informazioni all'utente, devi stampare sia la stringa che i valori interi, in questo modo:

Sfortunatamente, se provi a eseguire il codice sopra, riceverai un errore come questo:

concatenation error

Questo significa che devi convertire la variabile di lines in un valore stringa per poter eseguire il codice.

Ora che hai inserito la funzione di conversione, sarai in grado di eseguire il comando con successo. Vedrai qualcosa di simile al seguente come output:

Allo stesso modo, se desideri aggiungere un float invece di un intero a una stringa, devi fare la stessa cosa. Come prima, puoi aggiungere il valore direttamente o utilizzare una variabile. Ad esempio:

Se vuoi assicurarti che il valore sia corretto, puoi concatenarlo con una stringa in questo modo:

Poiché non hai ricevuto alcun errore, significa che la conversione è andata a buon fine.

  • Conversione: da stringhe a numeri

Allo stesso modo, puoi anche convertire le stringhe in numeri. Se la tua stringa non ha cifre decimali, allora è meglio convertirla in un numero intero. Puoi convertirla in numeri interi usando la funzione int().

Continueremo a utilizzare il nostro esempio precedente della conversione in numeri interi. Pertanto, considera che un utente di nome Sammy voglia tracciare i propri progressi nella scrittura del codice su base giornaliera. Come programmatore, desideri presentare queste informazioni all'utente in modo creativo. Ma poiché questi valori sono memorizzati come stringhe, non puoi applicare loro alcuni operatori di base come – (sottrazione). Puoi osservarlo nel seguente esempio:

unsupported operand

Come puoi vedere, l'operatore non funziona sui valori stringa. Al contrario, ricevi un errore. Per poter lavorare con i valori, devi convertire le stringhe in numeri interi usando la funzione int():

Qui, lines_more è una variabile. Questa variabile è un intero ed è uguale al valore risultante che, nel nostro esempio, è 58.

D'altra parte, puoi convertire le stringhe in float utilizzando la funzione float() se sono presenti dei decimali. In questo esempio, utilizzeremo i punti che l'utente Sammy sta guadagnando, invece del numero di righe che sta scrivendo. I punti sono espressi con cifre decimali:

Anche se l'output non si presenta come un errore, non è comunque corretto. L'operando + o addizione ha funzionato in questo caso. Ma invece di sommare i due numeri, ha semplicemente posizionato i due valori stringa l'uno accanto all'altro.

Ecco perché devi prima convertire queste stringhe in valori float utilizzando la funzione float() :

Come puoi osservare sopra, i due valori vengono sommati. Ricorda: se provi a convertire un valore stringa decimale in un intero, otterrai un errore come questo:

cast error

Pertanto, devi prima convertire il tipo di dati stringa in numeri. Successivamente, potrai eseguire altre operazioni e convertire facilmente il valore numerico.

Conversione in tuple e liste

Le liste e le tuple sono altri tipi di dati che puoi utilizzare in Python 3. Entrambi consistono in una sequenza di elementi. La differenza tra i due è che mentre una lista è mutabile, una tupla è immutabile. Inoltre, mentre gli elementi di una lista sono inseriti tra parentesi quadre [ ], quelli di una tupla sono inseriti tra parentesi tonde ( ).

  • Conversione: da liste a tuple

Prima di tutto, scopriamo come convertire una lista in una tupla. Potrebbe essere necessario eseguire questa conversione se hai bisogno di un tipo di dati immutabile. A tale scopo, dovrai utilizzare la funzione tuple():

Come puoi vedere, gli elementi della lista sono ora in una tupla. Ciò è mostrato dalle parentesi tonde che racchiudono gli elementi.

Puoi anche utilizzare la funzione tuple() con una variabile che equivale alla lista di elementi:

Comodamente, puoi convertire qualsiasi tipo di dati in una tupla. Ad esempio, ecco come convertiresti una stringa in una tupla:

Le stringhe possono essere convertite in tuple perché sono iterabili. Comprensibilmente, i tipi di dati non iterabili non possono essere convertiti in tuple. Supponiamo che tu voglia convertire alcuni interi o un float in una tupla. Se dovessi eseguire la funzione tuple(), riceverai un errore come questo:

L'errore di tipo mostra che l'intero non è iterabile. Ecco perché la conversione non può avvenire. Un modo complicato sarebbe quello di convertire prima l'intero in una stringa e poi in una tupla. Potresti farlo con la seguente funzione: tuple(str(5000)). Ma consigliamo di evitare tali complicazioni.

  • Conversione: da tuple a liste

Al contrario, potresti dover convertire una tupla in una lista se hai bisogno di dati mutabili. A questo scopo, utilizzerai la funzione list() come segue:

La presenza delle parentesi quadre indica che l'output risultante è una tupla. Quando scrivi il codice per convertire una tupla in una lista usando list(), devi assicurarti di includere le parentesi per il metodo list() così come per il metodo print(). Tuttavia, questo rende il codice un po' illeggibile. Per renderlo meno complicato, puoi rimuovere una coppia di parentesi usando invece una variabile:

Similmente alle tuple, puoi anche convertire direttamente le stringhe in liste:

Conclusione

Questa guida ti aiuterà se stai cercando modi per convertire i tipi di dati in Python 3. Abbiamo discusso in dettaglio i diversi tipi di dati e come possono essere convertiti l'uno nell'altro utilizzando le funzioni integrate di Python. Conoscere queste conversioni ti aiuterà a rendere la tua esperienza di programmazione molto più semplice e completa.

Per esplorare ulteriormente cosa puoi fare con Python, segui le nostre altre guide:

Buona programmazione!

author

Akshay Nagpal

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.