GNU/Linux >> Linux Esercitazione >  >> Cent OS

Tipi di dati Python {Panoramica completa}

Introduzione

Ogni linguaggio di programmazione ha tipi di dati integrati, incluso Python. I tipi di dati forniscono informazioni sui diversi tipi di variabili e determinano il flusso di programmazione. Altre librerie spesso creano i loro tipi di dati, come DataFrames in Pandas.

La scelta del tipo di dati corretto dipende dal problema in questione. È meglio iniziare conoscendo i tipi di dati di base di Python e i loro casi d'uso.

Scopri i diversi tipi di dati Python e quando usarli attraverso esempi in questo tutorial.

Tipi di dati di base in Python

Un tipo di dati è una caratteristica che dice al compilatore (o all'interprete) come un programmatore intende utilizzare i dati. Esistono due categorie generali di tipi di dati, diverse se i dati sono modificabili dopo la definizione:

1. Immutabile . Tipi di dati che non possono essere modificati dopo l'assegnazione.

2. Mutevole . Tipi di dati modificabili dopo l'assegnazione.

Le variabili memorizzano diversi tipi di dati. La creazione di una variabile di un particolare tipo di dati crea un oggetto di una classe di tipo di dati. L'interprete Python assume automaticamente un tipo durante la creazione di una variabile.

Il tipo di dati di qualsiasi oggetto viene trovato utilizzando il type() integrato funzione. L'output mostra il nome della classe per l'oggetto specificato.

Tipo numerico

Gli oggetti di tipo numerico rappresentano valori numerici. Sono divisi in tre sottogruppi:

  • Interi
  • Numeri in virgola mobile
  • Numeri complessi

Interi

I valori interi appartengono a int classe. In particolare, gli interi rappresentano numeri interi positivi o negativi senza decimale. Alcuni esempi di numeri interi includono:

print(0, "is", type(0))
print(-1, "is", type(-1))
print(10, "is", type(10))
print(1234567890, "is", type(1234567890))

Gli interi hanno una precisione illimitata. Non c'è distinzione tra numeri lunghi e brevi. La lunghezza dipende dalla memoria del computer:

very_long = 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
print("Long numbers are type", type(very_long), ", such as this one:", very_long)

Anche le basi numeriche binarie, ottali ed esadecimali valgono come numeri interi:

print(0b1010, "in base 2 is 1010 and the type is ", type(0b1010))
print(0o12, "in base 8 is 12 and the type is ", type(0o12))
print(0xA, "in base 16 is A and the type is ", type(0xA))

La stampa dei valori converte automaticamente nelle loro dieci forme di base.

Numeri in virgola mobile

I numeri in virgola mobile in Python sono numeri definiti con un punto decimale. Il tipo di classe è flottante . Ad esempio:

print(0.1, "is", type(0.1))
print(-1.0, "is", type(-1.0))
print(10., "is", type(10.))
print(123.4567890, "is", type(123.4567890))

Internamente, sono frazioni binarie, il che significa che il numero approssima la controparte decimale. La differenza tra il valore reale e quello approssimato è spesso impercettibile. Arrotondando il valore si ottiene il numero esatto. Ad esempio:

In alternativa, un numero con il carattere E seguito da un numero indica la notazione scientifica:

print(1E2, "is", type(1E2))
print(1e2, "is", type(1e2))

Anche la notazione scientifica appartiene alla classe dei numeri in virgola mobile. La sintassi accetta sia la e minuscola così come la E maiuscola .

I numeri in virgola mobile dopo 1,79 × 10 restituiscono all'infinito. Il numero più piccolo diverso da zero è 5,0 × 10. I numeri più piccoli restituiscono zero:

I valori corrispondono a valori a doppia precisione a 64 bit.

Numeri complessi

I numeri complessi sono spesso usati nelle scienze matematiche. Python fornisce una classe per numeri complessi chiamata complessi . Per scrivere numeri complessi, usa:

<real part> + <complex part>j

In alternativa, puoi omettere la parte reale:

<complex part>j

Ad esempio:

print(1+2j, "is", type(1 + 2j))
print(2j, "is", type(2j))

L'output mostra che i dati appartengono al complesso classe.

Tipo di sequenza

I tipi di sequenza aiutano a rappresentare i dati sequenziali archiviati in una singola variabile. Ci sono tre tipi di sequenze usate in Python:

  • Stringa
  • Elenco
  • Tupla

I singoli tipi di sequenza differiscono l'uno dall'altro in termini di modificabilità e ordine.

Stringhe

Le stringhe sono una sequenza di byte che rappresentano caratteri Unicode. Il tipo di stringa in Python è chiamato str .

Crea una stringa

A seconda del caso d'uso e dei caratteri necessari, esistono quattro modi diversi per creare una stringa. Differiscono in base ai delimitatori e se una stringa è singola o multilinea.

1. Crea una stringa utilizzando delimitatori di virgolette doppie :

print("This is a string with 'single' quotes delimited by double quotes")

Una stringa delimitata da virgolette doppie è utile per stringhe contenenti virgolette singole o apostrofi. In alternativa, puoi usare i caratteri di escape:

print("Thanks to the \"\\\" character, we can use double quotes inside double quote delimiters")

L'esempio mostra inoltre come visualizzare il carattere barra rovesciata in una stringa.

2. Crea una stringa utilizzando delimitatori di virgolette singole :

print('This is a string with "double" quotes delimited by single quotes')

Le stringhe Python delimitate da virgolette singole sono valide quando una stringa contiene virgolette doppie. Un altro modo è usare i caratteri di escape. Ad esempio:

print('Thanks to the \'\\\' character, we can use single quotes inside single quote delimiters')

Esistono due modi per delimitare una stringa multilinea.

a) Crea una stringa multilinea utilizzando delimitatori di virgolette singole triple :

print('''This is a multiline string
with 'single', "double" and """triple-double""" quotes
delimited with triple single quotes''')

Usa le virgolette singole triple per delimitare una stringa se contiene virgolette singole, doppie, triple doppie o termina con virgolette doppie.

b) Creare una stringa utilizzando delimitatori di virgolette triple :

print("""'This is a multiline string
with 'single', "double" and ```triple single``` quotes
delimited with triple double quotes'""")

Utilizza il delimitatore di virgolette triple doppie per stringhe contenenti virgolette singole, doppie, triple o stringhe che terminano con virgolette singole.

Accedi agli elementi di una stringa

Le stringhe in Python sono array di caratteri. Per accedere ai singoli elementi, usa l'indicizzazione:

s = "phoenixNap"
s[0], s[2], s[-1]

Per accedere a parti di una stringa, usa lo slicing:

print(s[0:7])
print(s[-3:])

Accedi al primo elemento all'indice 0. Contando all'indietro partendo da -1 si accede alla fine di una sequenza.

Poiché le stringhe sono matrici, puoi scorrere tutti i caratteri utilizzando un for ciclo:

for letter in s:
     print(letter)

Il codice stampa tutte le lettere di una stringa una per una.

Elenchi

Un elenco Python è un array modificabile ordinato. Gli elenchi consentono elementi duplicati indipendentemente dal loro tipo. L'aggiunta o la rimozione di membri da un elenco consente modifiche dopo la creazione.

Crea un elenco

Crea un elenco in Python usando parentesi quadre , separando i singoli elementi con una virgola:

A = [1, 2, "Bob", 3.4]
print(A, "is", type(A))

Crea un elenco nidificato aggiungendo un elenco a un elenco:

B = [A, 2, 3, 4]
print(B, "is", type(B))

Poiché gli elenchi Python sono modificabili, consentono di creare elenchi vuoti e aggiungere elementi in un secondo momento, nonché aggiungere o rimuovere membri a un elenco esistente.

Accedi agli elementi di un elenco

Gli elenchi sono una sequenza di elementi. Accedi ai membri usando la notazione di indicizzazione, dove il primo elemento si trova all'indice 0:

A[0], A[3], A[1]

Il taglio di una lista restituisce tutti gli elementi tra due indici:

A[0:2]

Sono possibili anche indici negativi:

A[-1]

Il -1 index stampa l'ultimo elemento nell'elenco. L'indicizzazione negativa è particolarmente utile per spostarsi alla fine di un lungo elenco di membri.

Tuple

Le tuple Python sono una matrice di elementi ordinati non modificabili. Una volta che una tupla è stata archiviata in una variabile, i membri non possono essere aggiunti o rimossi. Una tupla consente membri duplicati di qualsiasi tipo.

Crea una tupla

Per creare una tupla, usa le parentesi tonde standard, separando i singoli elementi con una virgola:

t = ("bare", "metal", "cloud", 2.0, "cloud")
print(t, "is", type(t))

Crea una tupla nidificata aggiungendo una tupla a una tupla:

c = (t, "computing")
print(c, "is still", type(t))

Per creare una tupla con un singolo elemento, usa una virgola dopo il primo elemento:

p = ("phoenixNap")
n = ("phoenixNap",)
print("p is", type(p), "whereas n is", type(n))

Senza una virgola, la variabile è una stringa.

Crea una tupla vuota usando le parentesi tonde senza elementi. Sebbene sembri ridondante poiché le tuple non sono modificabili, una tupla vuota aiuta a indicare la mancanza di dati in determinati casi d'uso.

Accedi agli elementi di una tupla

Le tuple supportano la notazione di indicizzazione. Accedi ai singoli elementi utilizzando le parentesi quadre e l'indice dell'elemento:

t[0], t[1], t[-1]

L'indicizzazione negativa consente di accedere agli elementi alla fine dell'elenco.

Per accedere a parti di una tupla, usa la notazione di slicing:

t[2:4]

L'output mostra il terzo e il quarto elemento della tupla.

Tipo booleano

I tipi di dati booleani appartengono a bool classe e determinare il valore di verità delle espressioni. Gli oggetti di tipo booleano restituiscono True o Falso :

print(type(True))
print(type(False))

I booleani sono un sottotipo di valori interi. Il controllo del valore di verità degli interi 1 e 0 con True e False restituisce true in entrambi i casi:

print(True == 1)
print(False == 0)

Il tipo di dati dei valori è diverso. True e False sono entrambi tipi booleani, mentre 1 e 0 sono tipi interi.

Imposta tipo

Il tipo di dati Set fa parte del set classe. Memorizza le raccolte di dati in un'unica variabile. Gli insiemi non sono ordinati e non consentono l'accesso ai singoli elementi tramite l'indicizzazione. Eventuali valori duplicati vengono ignorati.

Per creare un set, usa la notazione tra parentesi graffe e separa i singoli elementi con una virgola:

s = {1, 2, 3, 3, 3, 4}
print(s, "is", type(s))

Nota che le istanze multiple di dati scompaiono.

Tipo di mappatura

Il tipo di dati di mappatura è rappresentato da un dizionario Python. Un dizionario è una raccolta di dati con coppie chiave e valore appartenenti al dict classe.

Per creare un dizionario, utilizzare la notazione tra parentesi graffe e definire le coppie di valori chiave. Ad esempio:

d = {"articles":10,
     "cost":2.2,
     True:"Okay!",
     2:"One"}
print(d, "is", type(d))


Le coppie chiave e valore accettano qualsiasi tipo di dati. Per accedere a un valore in un dizionario, usa la chiave come indice:

print("The cost is:", d["cost"])


I dizionari sono utili quando si archiviano coppie di dati collegate.

Gestione dei tipi di dati in Python

Quando si scrivono programmi lunghi e complessi, la gestione di diversi tipi di dati diventa un aspetto cruciale per affrontare i problemi di programmazione. È impossibile prevedere in modo impeccabile il tipo di dati necessario. Tuttavia, sapere come controllare o modificare un tipo di dati è essenziale per la programmazione.

Verifica tipo di dati

Ogni variabile ha un tipo di dati, che viene verificato con la funzione incorporata type() :

print(type(1))
print(type(1.))
print(type(1+0j))
print(type("1"))
print(type([1]))
print(type((1,)))
print(type({1}))
print(type({1:1}))

L'esempio sopra mostra diversi modi per scrivere il numero 1 utilizzando vari tipi di dati. La funzione tipo() funziona anche su variabili.

Imposta tipo di dati

Il tipo di dati in Python viene impostato automaticamente quando si scrive un valore in una variabile. Il costruttore di classi per ogni tipo di dati consente di impostare anche il tipo di dati specifico di una variabile:

Tipo di dati Costruttore
Stringa str(<value>)
Intero int(<value>)
Virgola mobile float(<value>)
Complesso complex(<value>)
Elenco list((<value>, <value>))
Tupla tuple((<value>, <value>))
Booleano bool(<value)
Imposta set((<value>, <value>))
Dizionario dict((<key>=<value>, <key>=<value>))

Converti tipo di dati

Alcuni tipi di dati Python sono convertibili in altri tipi di dati. Esistono due modi per convertire un tipo di variabile:

  • Esplicitamente . Il costruttore di classi per i tipi di dati converte anche i tipi di dati.
  • Implicitamente . Quando possibile, l'interprete Python converte automaticamente un tipo di dati, ad esempio, aggiungendo un numero intero a un float si ottiene un risultato float.

Cent OS
  1. Come configurare tipi MIME personalizzati in cPanel

  2. Come costruire il contenitore Docker Anaconda Python Data Science

  3. Come configurare il tipo MIME personalizzato in cPanel?

  4. Come creare un nuovo tipo MIME in cPanel

  5. Spyder:l'IDE scientifico Python per la scienza dei dati

Che cos'è un database multimodello?

Che cos'è un database di documenti?

Che cos'è la replica dei dati? {Tipi di replica e schemi spiegati}

Cos'è l'hypervisor e quali sono i suoi tipi

come aggiungere/modificare/rimuovere tipi MIME in Plesk

Procedura:Introduzione alla programmazione:variabili, tipi e manipolazione dei dati