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
, float
e complex
le 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 float
variabile 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)