All'interno delle sue biblioteche , Python contiene il codice per aumentare gli errori e fermare l' esecuzione di codice . Gli errori che Python cerca sono solitamente errori tipici fatti dai programmatori , o errori che potrebbero minacciare la sicurezza del codice . Uno di questi, TypeError , assicura che il corretto tipo di informazione viene utilizzata per il processo eseguito . Se l'interprete trova un tipo non corretto di dati in una riga di codice , si ferma il programma. Per capire un TypeError , è importante per 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 può succedere : o il programma andrà in crash , o il programmatore dovrà impostare 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
programmatori potrebbero richiamare un'eccezione TypeError quando si utilizza un tipo di dati errato per un calcolo. TypeError eccezioni in sostanza dicono che l'operazione in corso non può avvenire utilizzando il tipo di dati a disposizione . Il seguente esempio funziona correttamente perché Python definisce un'operazione di addizione che coinvolge due stringhe differenti :
>>> x = " stringa1 " + " stringa2 "
Tuttavia , l'esempio seguente getterà un'eccezione , perché Python non può aggiungere un intero e una stringa :
>>> x = 1 + " stringa1"
Prevenire
TypeError
un programmatore potrebbe impedire un TypeError da tipi controllando prima di utilizzare le variabili . Ciò richiede l'uso di capacità introspettive di Python . Usando 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 ) per
Poiché x è una ' str ' , il programmatore può chiedere che il cambiamento di ingresso a un numero intero , o ad altro del tutto .
Facendo TypeError
un altro modo per evitare che il programma si blocchi è quello di creare gestori di eccezioni in caso di un evento TypeError , come nel seguente esempio ( ricordarsi di utilizzare corretta indentazione di Python dopo la "prova " e " salvo " dichiarazioni ) :
x = 2
y = "tre"
provare :
x + y
eccezione TypeError :
y = 3
stampa y
Aggiungendo "2" e "Tre" sarà gettare un TypeError . Tuttavia, l '" eccezione " dichiarazione catture TypeError e cambia y in un intero, che il programma può tranquillamente aggiungere alla variabile x .