TypeError in Python

October 8

TypeError in Python


All'interno delle sue biblioteche, Python contiene il codice per aumentare gli errori e fermare l'esecuzione di codice. Gli errori che Python cerca di solito sono errori tipici fatti dai programmatori, o errori che potrebbero minacciare la sicurezza del codice. Uno di questi, TypeError, assicura che il tipo corretto di informazione viene utilizzata per il processo eseguito. Se l'interprete trova un tipo errato di dati in una riga di codice, fermerà il programma. Per capire un TypeError, è importante capire gli errori, i tipi di dati e le operazioni.

Errori

Errori in Python, come molti linguaggi di programmazione, vanno sotto il nome di "eccezioni". Queste eccezioni avvertono l'interprete che si è verificato un errore. Quando viene sollevata un'eccezione (o "gettato"), una delle due cose possono accadere: o il programma andrà in crash, o il programmatore hanno istituito il codice di gestione degli errori per "catturare" l'errore e agire immediatamente sulla base della sua insorgenza . In entrambi i casi, il tipo di eccezione generata dipende dal tipo di errore che si verifica.

TypeError

I programmatori possono richiamare un'eccezione TypeError quando si utilizza un tipo di dati non corretti per un calcolo. TypeError eccezioni affermano in sostanza che l'operazione in corso non può avvenire utilizzando il tipo a disposizione dei dati. Il seguente esempio funziona correttamente perché Python definisce una operazione di addizione che coinvolge due stringhe differenti:

x = "stringa1" + "string2"

Tuttavia, l'esempio seguente sarà un'eccezione, perché Python non può aggiungere un intero e una stringa:

x = 1 + "stringa1"

Prevenire TypeError

Un programmatore potrebbe impedire un TypeError controllando tipi prima di utilizzare le variabili. Questo richiede l'uso di capacità introspettive di Python. Utilizzando la funzione "tipo", un programmatore può controllare il tipo di dati contenuti in una variabile. Se i dati non è conforme ai tipi richiesti, il programmatore può forzare la variabile per passare a un altro tipo:

x = "tre"

Tipo (x)

<Tipo 'str'>

Poiché x è un 'str', il programmatore può esigere che il cambiamento di ingresso in un intero, o per qualcosa di completamente diverso.

TypeError catching

Un altro modo per evitare che il programma crash è quello di creare gestori di eccezioni in caso di un evento TypeError, come nel seguente esempio (ricordarsi di utilizzare corretta indentazione Python dopo la "prova" e "eccezione" dichiarazioni):

x = 2

y = "tre"

provare:

x + y

ad eccezione TypeError:

y = 3

stampa y

L'aggiunta di "2" e "Tre" lancerà una TypeError. Tuttavia, la "eccezione" dichiarazione cattura TypeError e modifiche Y in un intero, quale il programma può tranquillamente aggiungere alla variabile x.