_int_ L'oggetto non è script

_int_ L'oggetto non è script
Un oggetto sottoscordibile in Python si riferisce a oggetti che fungono da contenitori. Oppure, l'oggetto contiene altri oggetti. È possibile utilizzare una notazione di indicizzazione per accedere ad elementi specifici dell'oggetto. Un oggetto è sottoscribile se implementa i metodi __geTitem __ () o __class_getitem __ ().

Questo articolo ha discusso dell'errore non sottoposto a Python, cosa lo causa e come risolverlo.

Ciò che provoca l'oggetto "in" non è un errore sottogruppo?

Questo errore è causato quando si tratta un tipo intero come un oggetto sottoscritto in Python.

Ciò significa che stai tentando di accedere ad elementi di un tipo INT che non è supportato.

Un esempio è come mostrato:

i = 1000
stampa (i [0])

In questo caso, stiamo tentando di accedere a un elemento di un tipo di intero che non è supportato per un oggetto INT non è sottoscribile.

L'esecuzione del codice sopra dovrebbe restituire un errore come mostrato:

$ Python sottoscrivibile.Py
Traceback (chiamata più recente per ultima):
File "Sottoscrivibile.py ", riga 2, in
stampa (i [0])
TypeEerror: L'oggetto 'int' non è sottoscribile

Questo ci impedisce di utilizzare le notazioni di indicizzazione per accedere ad elementi di un tipo int.

In Python, gli oggetti sottoscribili includono:

  1. corda
  2. tupla
  3. elenco
  4. DICT
  5. Qualsiasi classe che implementa __getItem __ ()

Come correggere TypeEerror: L'oggetto 'int' non è un errore sottogruppo

Per correggere questo tipo di errore, è necessario evitare di utilizzare la notazione di indicizzazione su un tipo non supportato.

Tuttavia, se è necessario accedere agli elementi di un oggetto, è possibile convertirlo in un oggetto sottoscordibile.

Ad esempio, nel nostro esempio precedente, possiamo convertire l'intero in un tipo di stringa come sottogruppo.

Considera l'illustrazione mostrata di seguito:

i = 1000
i = str (i)
stampa (i [0])

In questo caso, il codice dovrebbe funzionare e restituire l'elemento all'indice 0 come mostrato:

$ Python sottoscrivibile.Py
1

Bonus: implementazione __geTitem __ () nella tua classe

In alcuni casi, potresti aver bisogno che il tuo oggetto sia sottoscribile. Pertanto, è necessario implementare il metodo __GetItem__ nella tua classe.

L'esempio seguente mostra come crei un semplice oggetto sottogruppo.

Classe Myclass:
def __getItem __ (self, chiave):
Chiave di ritorno
new_object = myclass ()
Stampa (new_object [0])

Nell'esempio sopra, iniziamo creando una classe semplice che implementa il metodo __geTitem__.

La funzione prenderà semplicemente la chiave e tornerà stessa. Ad esempio, l'esecuzione del codice sopra dovrebbe restituire:

$ Python sottoscrivibile.Py
0

Puoi usare questa notazione per ottenere un elemento specifico del tuo oggetto.

Un esempio è come mostrato:

Auto di classe:
def __init __ (self, modello):
se stesso.modello = modello
def __getItem __ (self, chiave):
Restituisci se stessi.Modello [chiave]
y = car ('Honda Civic')
Stampa (y [0: 5])

In questo caso, il metodo consente di recuperare elementi a un indice specifico. L'esecuzione del codice sopra dovrebbe restituire:

$ Python sottoscrivibile.Py
Honda

Puoi saperne di più sul Python __getItem__ nella risorsa seguente:

https: // docs.pitone.org/3/riferimento/datamodel.Oggetto HTML#.__geTitem__

Conclusione

Questo articolo ha discusso dell'errore non sottoposto a Python, cosa lo causa e come risolverlo.