tipo de objeto python

" escriba " es una palabra clave especial en Python que denota un valor cuyo tipo es un tipo de datos. Si intenta acceder a un valor de un objeto cuyo tipo de datos es " type & rdquo ;, encontrará el " TypeError: " type " el objeto no se puede suscribir " error.

Esta guìa explica qué significa este error y por qué puede verlo. Le guìa a través de un ejemplo de este error para que pueda aprender còmo corregir el error cada vez que aparece.

TypeError: " type " el objeto no es subscriptable

Python admite una variedad de tipos de datos . Estos tipos de datos se utilizan para almacenar valores con diferentes atributos. El tipo de datos entero, por ejemplo, almacena n√∫meros enteros. El tipo de datos de cadena representa un individuo o un conjunto de caracteres.

Cada tipo de datos tiene un " tipo " objeto. Este objeto le permite convertir valores a un tipo de datos en particular o crear un nuevo valor con un tipo de datos en particular. Estos " tipo " los objetos incluyen:

Si marca la casilla " escriba " de estas variables, verá que son " tipo " objetos:

El resultado de este còdigo es: " tipo & rdquo ;.

No podemos acceder a los valores de un " tipo " objeto porque no almacenan ning√∫n valor. Son una referencia para un tipo particular de datos.

Un escenario de ejemplo

Cree un programa que muestre informaciòn sobre una compra realizada en una ferreterìa para que se pueda imprimir un recibo fuera. Empiece por definir una lista con informaciòn sobre una compra :

El 81% de los participantes afirmò que se sentìa más seguro acerca de su trabajo técnico. prospectos después de asistir a un bootcamp. Asòciese a un bootcamp hoy.

El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Los valores en esta lista representan , en orden:

  • La marca del artìculo que ha comprado un cliente
  • El nombre del artìculo
  • El precio del artìculo
  • Si el cliente es miembro del programa de tarjetas de fidelizaciòn de la tienda

A continuaciòn, utilice declaraciones print () para mostrar informaciòn sobre esta compra en la consola:

Imprime la marca, el nombre del producto y los valores de precio en la consola. Tienes agregò etiquetas a estos valores para que sea fácil para el usuario decir qué representa cada valor.

Convierta la compra [2] en una cadena usando str () porque este valor se almacena como un n√∫mero de punto flotante y solo puede concatenar cadenas a otras cadenas.

A continuaciòn, compruebe si un usuario es miembro del programa de tarjetas de fidelizaciòn de la tienda. hacer esto porque si un cliente no es miembro, entonces el Se le debe preguntar si le gustarìa unirse al programa de tarjetas de fidelizaciòn:

Si un usuario no es miembro del programa de tarjetas de fidelizaciòn, el " if " statement se ejecuta. De lo contrario, se ejecuta la instrucciòn else y se agradece al usuario por realizar una compra.

Ejecute nuestro còdigo y vea si funciona:

Nuestro còdigo devuelve un error.

La soluciòn

Eche un vistazo a la lìnea de còdigo ofensiva: < br>

El mensaje " subscriptable " dice que está intentando acceder a un valor mediante la indexaciòn de un objeto como si fuera un objeto de secuencia, como una cadena, una lista o una tupla. En el còdigo, está intentando acceder a un valor mediante la indexaciòn de un objeto "tipo". Esto no está permitido.

Este error se ha producido porque ha definido la lista " compra " como un tipo de objeto en lugar de como una lista. Para solucionar este error, elimine el " tipo " de en nuestra lista:

No es necesario usar " type " para declarar una lista. Solo necesita usar " type " para verificar el valor de un objeto. Ejecute nuestro còdigo y vea lo que sucede:

El còdigo imprime la informaciòn informaciòn sobre la compra. También informa que el cliente es miembro de una tarjeta de fidelizaciòn y por lo tanto ha ganado puntos por realizar una compra en la tienda.

Conclusiòn

El " TypeError: " type " el objeto no se puede suscribir " Se genera un error cuando intenta acceder a un objeto mediante la indexaciòn cuyo tipo de datos es " type & rdquo ;. Para resolver este error, aseg√∫rese de intentar acceder √∫nicamente a objetos iterables, como tuplas y cadenas, mediante la indexaciòn.

¬°Ahora está listo para resolver este error como un experto en Python!