Python Typeerror

Python Typeerror

In questo articolo, impareremo cos'è TypeEerror in Python, cosa lo causa e come risolvere o correggere errori di tipo in Python. Python è descritto come un linguaggio di programmazione di alto livello che è orientato agli oggetti ed è stato sviluppato da Guido van Rossum. Python è un linguaggio di supporto per gli sviluppatori di software e viene utilizzato per il controllo di build, l'amministrazione dei test, ecc. Possono verificarsi diversi errori o eccezioni durante la gestione dei dati nella programmazione di Python, quindi questo articolo aiuterà a far luce su una delle eccezioni in Python chiamato TypeEerror.

Cos'è un errore di tipo Python?

Un errore di tipo Python è un'anomalia o irregolarità che si verifica quando un oggetto in un tipo di dati non è adatto per le operazioni. Questo errore di tipo si verifica quando un'operazione viene eseguita su un oggetto che non è adatto per i dati o i dati non supportano l'oggetto. In altre parole, TypeEerror rappresenta un errore sollevato quando una funzione o un'operazione non può essere eseguita e l'operazione è forzata su un oggetto di tipo inappropriato. Un esempio sarebbe che quando si utilizza l'operazione + (aggiunta) su un tipo di stringa, l'errore verrà incrementato da un valore intero.

Cosa causa un errore di tipo Python?

TypeEerror è una delle diverse eccezioni in Python standard. Come accennato in precedenza, questo errore viene sollevato quando un'operazione viene eseguita sul tipo sbagliato di oggetto. Esistono diverse cause comuni di TypeEerror in Python. Alcuni di questi sono descritti di seguito:

Operazioni non supportate tra due tipi

Questo errore si verifica durante l'esecuzione tra due tipi di dati incompatibili o non supportati.

Per spiegare, useremo l'esempio della variabile "my_str", che è una "stringa" e la variabile "12", che è un numero intero. Non è possibile utilizzare l'operazione + (aggiunta) tra i due perché non si supportano a vicenda. Per spiegare, sappiamo che un numero intero può essere aggiunto a un altro numero intero o un numero decimale e non possiamo aggiungere un numero intero a un oggetto stringa o una variabile.

Se inseriamo i seguenti dati per aggiungere un numero intero con una stringa, otteniamo quanto segue:

my_str = "benvenuto"
my_num = 12
Stampa (my_str + my_num + my_str)

Si verifica un typeerror se viene eseguita o abilitata un'operazione matematica tra oggetti che non lo supportano. Il risultato dei dati eseguiti mostrerà un errore di tipo e l'output sarà:

Questo output mostra che l'errore di tipo è una stringa e non un numero intero perché un numero intero non è compatibile con una stringa. Nell'esempio sopra, la stringa "Welcome" cerca di aggiungere al numero intero "12" e poiché l'aggiunta non può essere eseguita tra i due diversi tipi, si verifica un errore di tipo.

Chiamare un identificatore non calmobile

Un'altra causa di TypeEerror è una chiamata a un oggetto non collegabile, come un numero intero. La stringa per 'Python è molto facile da imparare!!in questo caso non è commesso nella variabile "my_message" e lancerà un errore di tipo se chiamato in un'istruzione di stampa.

my_message = "Python è molto facile da imparare!!"
stampa (my_message ())

In Python, qualsiasi funzione o metodo, con un'implementazione del metodo di chiamata nella definizione della classe, è chiamata calmabile. Proprio come qualsiasi funzione o metodo, possiamo chiamare un oggetto richiamabile. Quindi, se viene chiamato un intero che è un oggetto non calmobile, viene sollevato un typeerror. L'output per il comando sopra sembrerà così:

Questo risultato indica che l'oggetto stringa non può essere chiamato. L'esempio mostra che la stringa "Python è molto facile da imparare" non può essere chiamata quando viene eseguita l'istruzione di stampa, in quanto è un caso non contabile in questo contesto.

Tipo di indice dell'elenco non valido

Viene sollevato un errore di tipo quando viene passato un tipo errato a una funzione integrata. In Python, gli indici di elenco sono tenuti a essere sempre un numero intero. Per capirlo, supponiamo di voler creare un elenco di oggetti, diciamo mela, orologio, anelli, unghie e borsa. Ora, quando inseriamo i dati e stampiamo il valore otteniamo un typeerror. Come sappiamo, gli indici dovrebbero essere sotto forma di numeri interi o numeri decimali, quindi se si utilizza una stringa un errore.

my_list = ["mela", "orologio", "anello", "unghie", "borsa"]
index_num = "2"
Stampa ("Ecco l'elenco originale:")
Stampa (my_list)
stampa ("Ecco il risultato:")
print (my_list [index_num])

Nell'esempio sopra, poiché il codice del valore dell'indice è riportato in una stringa, viene sollevato un errore di tipo. Quanto segue è l'output del comando eseguito:

In questo caso, otteniamo un typeerror perché un tipo di stringa viene rilevato nel valore dell'indice quando sappiamo che solo per gli indici dovrebbero essere utilizzati. A causa dell'errore visualizzato sull'output, gli indici devono essere sotto forma di numeri interi o fette, altrimenti viene sollevato un errore di tipo.

Come risolvere errori di tipo?

Errori di qualsiasi tipo non possono essere evitati in un programma ma il loro verificarsi può sempre essere ridotto al minimo. Per ridurre al minimo il verificarsi di errori, possiamo controllare i tipi di dati degli operandi, che contribuiranno a evitare operazioni con tipi di dati incompatibili. Variabili, classi e funzioni in un programma dovrebbero anche essere dati nomi adeguati per aiutarti a chiamare gli oggetti non calpestabili. Un altro modo per evitare l'errore è che il tipo di oggetto deve essere verificato prima che l'operazione venga eseguita. Ciò contribuirà a garantire che l'operazione sia appropriata per l'oggetto e l'oggetto che supporta l'operazione. Se utilizziamo uno degli esempi di cui sopra, aggiungeremo un altro passo ad esso, sarà:

my_list = ["mela", "orologio", "anello", "unghie", "borsa"]
index_val = [0, "1", 2, 3]
per i in gamma (len (index_val)):
Tentativo:
print (my_list [index_val [i]])
Tranne TypeEerror:
Print ("TypeEerror: controllo Elenco degli indici")

L'output per questo comando sarà:

Ciò dimostra che quando si trova un indice di tipo sbagliato, si verificherà un errore e il codice dato lo gestirà. Questo controllo contribuirà a determinare se uno di essi non è un numero intero e perché si verificherà l'errore se non corretto.

Conclusione

Questo articolo parla degli errori di tipo Python e in questo abbiamo imparato in modo semplificato con esempi di quale errore è in Python e cosa lo causa e come evitarlo. Mentre a volte è inevitabile commettere errori, è meglio gestire l'errore prima che accada ed essere consapevoli delle cause del typeerror. Come accennato in precedenza, un typeerror è un'eccezione che si verifica quando il programmatore specifica un tipo di oggetto errato per un'operazione.