In questo tutorial imparerai a conoscere i diversi tipi di dati che puoi usare in Python.
Tipi di dati in Python
Ogni valore in Python ha un tipo di dati. Poiché tutto è un oggetto nella programmazione Python, i tipi di dati sono in realtà classi e le variabili sono istanza (oggetto) di queste classi.
Esistono vari tipi di dati in Python. Alcuni dei tipi importanti sono elencati di seguito.
Numeri Python
I numeri interi, i numeri in virgola mobile ei numeri complessi rientrano nella categoria dei numeri Python. Essi sono definiti come int, floate complexle classi in Python.
Possiamo usare la type()funzione per sapere a quale classe appartiene una variabile o un valore. Allo stesso modo, la isinstance()funzione viene utilizzata per verificare se un oggetto appartiene a una particolare classe.
 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 
Produzione
5 è di tipo 2.0 è di tipo (1 + 2j) è un numero complesso? Vero
I numeri interi possono essere di qualsiasi lunghezza, è limitato solo dalla memoria disponibile.
Un numero a virgola mobile è accurato fino a 15 cifre decimali. I punti interi e mobili sono separati da punti decimali. 1 è un numero intero, 1.0 è un numero in virgola mobile.
I numeri complessi sono scritti nella forma x + yj,, dove x è la parte reale ey è la parte immaginaria. Ecco alcuni esempi.
 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 
Si noti che la floatvariabile b è stata troncata.
Elenco Python
L'elenco è una sequenza ordinata di elementi. È uno dei tipi di dati più utilizzati in Python ed è molto flessibile. Non è necessario che tutti gli elementi di un elenco siano dello stesso tipo.
Dichiarare un elenco è piuttosto semplice. Gli elementi separati da virgole sono racchiusi tra parentesi ( ).
 a = (1, 2.2, 'python') 
Possiamo usare l'operatore di affettamento ( )per estrarre un elemento o un intervallo di elementi da un elenco. L'indice parte da 0 in Python.
 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 
Produzione
a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40)
Le liste sono mutabili, il che significa che il valore degli elementi di una lista può essere alterato.
 a = (1, 2, 3) a(2) = 4 print(a) 
Produzione
(1, 2, 4)
Tupla Python
La tupla è una sequenza ordinata di elementi uguale a un elenco. L'unica differenza è che le tuple sono immutabili. Le tuple una volta create non possono essere modificate.
Le tuple vengono utilizzate per proteggere i dati dalla scrittura e di solito sono più veloci degli elenchi poiché non possono cambiare dinamicamente.
È definito tra parentesi ()dove gli elementi sono separati da virgole.
 t = (5,'program', 1+3j) 
Possiamo usare l'operatore di affettatura ()per estrarre gli elementi ma non possiamo cambiarne il valore.
 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 
Produzione
t (1) = programma t (0: 3) = (5, 'programma', (1 + 3j)) Traceback (chiamata più recente per ultima): File "test.py", riga 11, in t (0) = 10 TypeError: l'oggetto 'tuple' non supporta l'assegnazione di elementi
Stringhe Python
La stringa è una sequenza di caratteri Unicode. Possiamo usare virgolette singole o doppie per rappresentare le stringhe. Le stringhe su più righe possono essere denotate utilizzando virgolette triple '''o """.
 s = "This is a string" print(s) s = '''A multiline string''' print(s) 
Produzione
Questa è una stringa Una stringa multilinea
Proprio come una lista e una tupla, l'operatore di taglio ( )può essere usato con le stringhe. Le corde, tuttavia, sono immutabili.
 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 
Produzione
s (4) = os (6:11) = world Traceback (ultima chiamata più recente): File "", riga 11, in TypeError: l'oggetto 'str' non supporta l'assegnazione di elementi
Set di pitone
Set è una raccolta non ordinata di oggetti unici. Il set è definito da valori separati da virgola tra parentesi graffe ( ). Gli articoli in un set non sono ordinati.
 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 
Produzione
a = (1, 2, 3, 4, 5)
Possiamo eseguire operazioni sugli insiemi come unione, intersezione su due insiemi. Gli insiemi hanno valori univoci. Eliminano i duplicati.
 a = (1,2,2,3,3,3) print(a) 
Produzione
(1, 2, 3)
Poiché gli insiemi sono una raccolta non ordinata, l'indicizzazione non ha alcun significato. Quindi, l'operatore di affettatura ()non funziona.
 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing  
Dizionario Python
Il dizionario è una raccolta non ordinata di coppie chiave-valore.
Viene generalmente utilizzato quando abbiamo un'enorme quantità di dati. I dizionari sono ottimizzati per il recupero dei dati. Dobbiamo conoscere la chiave per recuperare il valore.
In Python, i dizionari sono definiti tra parentesi graffe ()con ogni elemento che è una coppia nel modulo key:value. Chiave e valore possono essere di qualsiasi tipo.
 >>> d = (1:'value','key':2) >>> type(d) 
Usiamo la chiave per recuperare il rispettivo valore. Ma non il contrario.
 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 
Produzione
 d (1) = valore d ('key') = 2 Traceback (la chiamata più recente per ultima): File "", riga 9, in KeyError: 2  
Conversione tra tipi di dati
Possiamo convertire tra diversi tipi di dati utilizzando diverse funzioni di conversione come int(), float(), str(), etc.
 >>> float(5) 5.0 
La conversione da float a int troncerà il valore (lo renderà più vicino a zero).
 >>> int(10.6) 10 >>> int(-10.6) -10 
La conversione da e verso la stringa deve contenere valori compatibili.
 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 
Possiamo persino convertire una sequenza in un'altra.
 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 
Per convertire in dizionario, ogni elemento deve essere una coppia:
 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 








