El objeto _int_ no es scriptable

El objeto _int_ no es scriptable
Un objeto subscriptable en Python se refiere a objetos que actúan como contenedores. O, el objeto contiene otros objetos. Puede usar una notación de indexación para acceder a elementos específicos del objeto. Un objeto es subscriptable si implementa los métodos __getItem __ () o __class_getitem __ ().

Este artículo discutió el error de Python Unsubscriptable, qué lo causa y cómo solucionarlo.

¿Qué causa el objeto 'in' no es un error subscriptable??

Este error es causado cuando trata un tipo entero como un objeto suscrito en Python.

Esto significa que está intentando acceder a elementos de un tipo INT que no es compatible.

Un ejemplo es como se muestra:

i = 1000
Imprimir (I [0])

En este caso, estamos intentando acceder a un elemento de un tipo entero que no es compatible con un objeto int no es subscriptable.

Ejecutar el código anterior debe devolver un error como se muestra:

$ Python Subscriptable.py
Rastreo (llamadas recientes más última):
Archivo "Subscriptable.py ", línea 2, en
Imprimir (I [0])
TypeError: el objeto 'int' no es subscriptable

Esto nos impide usar anotaciones de indexación para acceder a elementos de un tipo INT.

En Python, los objetos subscriptables incluyen:

  1. cadena
  2. tupla
  3. lista
  4. dictarse
  5. cualquier clase que implementa __getItem __ ()

Cómo corregir typeError: el objeto 'int' no es un error subscriptable

Para corregir este tipo de error, debe evitar usar la notación de indexación en un tipo no compatible.

Sin embargo, si necesita acceder a elementos de un objeto, puede convertirlo en un objeto subscriptable.

Por ejemplo, en nuestro ejemplo anterior, podemos convertir el entero en un tipo de cadena como su subscriptable.

Considere la ilustración que se muestra a continuación:

i = 1000
i = str (i)
Imprimir (I [0])

En este caso, el código debe funcionar y devolver el elemento en el índice 0 como se muestra:

$ Python Subscriptable.py
1

Bonificación: implementar __getItem __ () en su clase

En algunos casos, es posible que necesite que su objeto sea subscriptable. Por lo tanto, debe implementar el método __getItem__ en su clase.

El ejemplo a continuación muestra cómo crea un objeto subscriptable simple.

Clase MyClass:
Def __getItem __ (self, clave):
tecla de retorno
new_object = myclass ()
print (new_object [0])

En el ejemplo anterior, comenzamos creando una clase simple que implementa el método __getItem__.

La función simplemente tomará la clave y lo devolverá a sí misma. Por ejemplo, ejecutar el código anterior debería devolver:

$ Python Subscriptable.py
0

Puede usar esta notación para obtener un elemento específico de su objeto.

Un ejemplo es como se muestra:

coche de clase:
def __init __ (self, modelo):
ser.modelo = modelo
Def __getItem __ (self, clave):
volver a ser.modelo [clave]
y = coche ('Honda Civic')
Imprimir (Y [0: 5])

En este caso, el método le permite obtener elementos en un índice específico. Ejecutar el código anterior debería devolver:

$ Python Subscriptable.py
Honda

Puede obtener más información sobre Python __getItem__ en el recurso a continuación:

https: // documentos.pitón.org/3/referencia/datamodel.objeto HTML#.__obtiene el objeto__

Conclusión

Este artículo discutió el error de Python Unsubscriptable, qué lo causa y cómo solucionarlo.