type d’objet Python

"tapez" est un mot-clé spécial en Python qui désigne une valeur dont le type est un type de données. Si vous essayez d’accéder à une valeur à partir d’un objet dont le type de données est "type", vous rencontrerez l’erreur "TypeError : ‚Äòtype‚Äô l’objet n’est pas inscriptible " error.

Ce guide explique ce que signifie cette erreur et pourquoi vous pouvez la voir. Il vous guide à travers un exemple de cette erreur afin que vous puissiez apprendre comment corriger l’erreur chaque fois qu’elle se produit.

TypeError : ‚Äòtype‚Äô l’objet n’est pas inscriptible

Python prend en charge une gamme de types de données. Ces types de données sont utilisés pour stocker des valeurs avec différents attributs. Le type de données entier, par exemple, stocke des nombres entiers. Le type de données chaaîne représente un individu ou un ensemble de caractères.

Chaque type de données a un "type‚" objet. Cet objet vous permet de convertir des valeurs en un type de données particulier ou de créer une nouvelle valeur avec un type de données particulier. Ces "type" les objets incluent :

Si vous cochez la case "tapez" de ces variables, vous verrez qu’elles sont de "type" objets :

Le résultat de ce code est : "type‚".

Nous ne pouvons pas accéder aux valeurs d’un "type‚" objet car ils ne stockent aucune valeur. Ils sont une référence pour un type particulier de données.

Un exemple de scénario

Créez un programme qui affiche des informations sur un achat effectué dans un magasin de matériel informatique afin qu’un reçu puisse être imprimé dehors. Commencez par définir une liste avec des informations sur un achat :

81 % des participants ont déclaré qu’ils se sentaient plus confiants dans leur travail technologique perspectives après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Les valeurs de cette liste représentent , dans l’ordre :

  • La marque de l’article qu’un client a acheté
  • Le nom de l’article
  • Le prix de l’article
  • Si le client est membre du programme de carte de fidélité du magasin

Ensuite, utilisez les instructions print() pour afficher des informations sur cet achat sur la console :

Vous imprimez la marque, le nom du produit et les valeurs de prix sur la console. Vous avez ajouté des étiquettes à ces valeurs afin qu’il soit facile pour l’utilisateur de dire ce que chaque valeur représente.

Convertir achat[2] en une chaaîne à l’aide de str() car cette valeur est stockée sous forme de nombre à virgule flottante et vous ne pouvez concaténer des chaaînes qu’avec d’autres chaaînes.

Ensuite, vérifiez si un utilisateur est membre du programme de carte de fidélité du magasin. Vous le faire parce que si un client n’est pas membre, le Il faut lui demander s’il souhaite rejoindre le programme de carte de fidélité :

Si un utilisateur n’est pas membre du programme de carte de fidélité, le l’instruction"if‚" s’exécute. Sinon, l’instruction else s’exécute et l’utilisateur est remercié pour avoir effectué un achat.

Exécutez notre code et voyez si cela fonctionne :

Notre code renvoie une erreur.

La solution

Regardez la ligne de code incriminée :< br>

Le message "subscriptable" indique que vous essayez d’accéder à une valeur en utilisant l’indexation à partir d’un objet comme s’il s’agissait d’un objet de séquence, comme une chaaîne, une liste ou un tuple. Dans le code, vous essayez de accéder à une valeur en utilisant l’indexation à partir d’un objet "type‚". Ceci n’est pas autorisé.

Cette erreur s’est produite car vous avez défini la liste d’"achat" en tant qu’objet de type au lieu d’une liste. Pour résoudre cette erreur, supprimez le "type" de autour de notre liste :

Il n’est pas nécessaire d’utiliser "type" pour déclarer une liste. Il vous suffit d’utiliser "type" pour vérifier la valeur d’un objet. Exécutez notre code et voir ce qui se passe :

Le code imprime les informations sur l’achat. Il informe également que le client est membre d’une carte de fidélité et qu’il a donc gagné des points pour avoir effectué un achat en magasin.

Conclusion

La "TypeError : ‚Äòtype‚Äô l’objet n’est pas inscriptible " une erreur est générée lorsque vous essayez d’accéder à un objet à l’aide d’une indexation dont le type de données est "type". Pour résoudre cette erreur, assurez-vous d’essayer uniquement d’accéder aux objets itérables, comme les tuples et les chaaînes, à l’aide de l’indexation.

Vous êtes maintenant prêt à résoudre cette erreur comme un expert Python !