Tipi di dati Python

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) 

Articoli interessanti...