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:
|
1 |
float(57) |
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:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Output 57.0 |
-
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:
|
1 |
int(390.8) |
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:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Output 125 390 |
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:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Output 2.5 |
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:
|
1 |
str(12) |
|
1 2 3 |
Output '12' |
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:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Congratulazioni, " + user + "! Hai appena scritto " + lines + " righe di codice.") |
Sfortunatamente, se provi a eseguire il codice sopra, riceverai un errore come questo:

Questo significa che devi convertire la variabile di lines in un valore stringa per poter eseguire il codice.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Congratulazioni, " + user + "! Hai appena scritto " + str(lines) + " righe di 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:
|
1 2 3 |
Output Congratulazioni, Sammy! Hai appena scritto 50 righe di codice. |
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:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Output 421.034 5524.53 |
Se vuoi assicurarti che il valore sia corretto, puoi concatenarlo con una stringa in questo modo:
|
1 2 |
f = 5524.53 print("Sammy ha " + str(f) + " punti.") |
|
1 2 3 |
Output Sammy ha 5524.53 punti. |
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:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

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():
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Output 58 |
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:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Output 5524.5345.30 |
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() :
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Output 5569.83 |
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:
|
1 2 |
f = "54.23" print(int(f)) |

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():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Output ('pull request', 'open source', 'repository', 'branch') |
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:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Output ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
Comodamente, puoi convertire qualsiasi tipo di dati in una tupla. Ad esempio, ecco come convertiresti una stringa in una tupla:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Output ('S', 'a', 'm', 'm', 'y') |
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:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Output TypeError: 'int' object is not iterable |
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:
|
1 |
print(list(('corallo blu', 'corallo corno di cervo', 'corallo a pilastro'))) |
|
1 2 3 |
Output ['corallo blu', 'corallo corno di cervo', 'corallo a pilastro'] |
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:
|
1 2 3 |
coral = ('corallo blu', 'corallo corno di cervo', 'corallo a pilastro') list(coral) |
Similmente alle tuple, puoi anche convertire direttamente le stringhe in liste:
|
1 |
print(list('shark')) |
|
1 2 3 |
Output ['s', 'h', 'a', 'r', 'k'] |
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:
- Scopri come installare Python 3 e configurare un ambiente di programmazione locale su Ubuntu 16.04.
- Segui per imparare come estrarre i dati di Twitter usando Python.
- Impara come recuperare i dati al minuto del NASDAQ usando Python.
- Puoi anche dare un'occhiata a come utilizzare lo script Python di CloudSigma per automatizzare la conversione dello snapshot di un'unità in un'unità completa sulla nostra piattaforma.
Buona programmazione!
Commenti
Ancora nessun commento. Scrivi il primo.