Python 3 fonctions intégrées

Pour appeler une fonction intégrée, vous devez utiliser des parenthèses. Les parenthèses distinguent les appels de fonction des autres opérations pouvant être effectuées sur certains objets, comme l’indexation.

Si vous essayez d’utiliser des crochets pour appeler une fonction intégrée, vous rencontrerez le " TypeError : ‚Äòbuiltin_function_or_method‚Äô l’objet n’est pas inscriptible " error.

Dans ce guide, nous expliquons ce que signifie cette erreur et pourquoi vous pouvez la rencontrer. Nous allons parcourir un exemple afin que vous puissiez trouver comment résoudre l’erreur.

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

Seuls les objets itérables sont inscriptibles. Les exemples d’objets itérables incluent les listes, les strings et les dictionnaires. Les valeurs individuelles de ces objets sont accessibles à l’aide de l’indexation. En effet, les éléments d’un objet itérable ont des valeurs d’index.

Considérez le code suivant :

Notre code renvoie "English". Notre code récupère le premier élément de notre liste, qui est l’élément à la position d’index 0. Notre liste est indexable, nous pouvons donc y accéder à l’aide de crochets.

Les fonctions intégrées ne sont pas indexables. En effet, ils ne renvoient pas une liste d’objets accessibles via l’indexation.

La "TypeError : ‚Äòbuiltin_function_or_method‚Äô l’objet n’est pas inscriptible " erreur se produit lorsque vous essayez d’accéder à une fonction intégrée à l’aide de crochets. En effet, lorsque l’interpréteur Python voit des crochets, il essaie d’accéder aux éléments à partir d’une valeur comme si cette valeur était itérable.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie 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.

Nous allons construire un programme qui ajoute tous les enregistrements d’une liste d’articles ménagers à une autre liste. Un article ne doit être ajouté à la liste suivante que si cet article est en stock.

Commencez par définir une liste d’articles ménagers et une liste pour stocker ceux qui sont en stock :

La liste "in_stock‚" est actuellement vide. C’est parce que nous n’avons pas encore calculé quels articles en stock devraient être ajouté à la liste.

Ensuite, nous utilisons une boucle for pour rechercher des éléments dans la liste "homewares‚" qui sont en stock. Nous allons ajouter ces articles à la liste "in_stock‚" :

Nous utilisons la méthode append() pour ajouter un enregistrement au "in_stock‚" liste si cet article est en stock. Sinon, notre programme n’ajoute pas d’enregistrement au "in_stock‚" liste. Notre programme imprime ensuite tous les objets dans le "in_stock‚" list.

Exécutons notre code et voyons ce qui se passe :

Notre code renvoie une erreur.

Regardez la ligne de code pointée par Python dans l’erreur :

Nous‚Äôavons essayé d’utiliser la syntaxe d’indexation pour ajouter un élément à notre "in_stock‚" liste variable. Ceci est incorrect car les fonctions ne sont pas des objets itérables. Pour appeler une fonction, nous devons utiliser des parenthèses.

Nous résolvons ce problème en remplaçant les crochets par des parenthèses :

Exécutons notre code :

Notre code calcule avec succès les articles en stock. Ces articles sont ajoutés au "in_stock‚" liste qui est imprimée sur la console.



Conclusion

L’erreur "TypeError : ‚Äòbuiltin_function_or_method‚Äô object is not subscriptable" est générée lorsque vous essayez d’utiliser des crochets pour appeler une fonction.

Cette erreur est générée car Python interprète les crochets comme un moyen d’accéder aux éléments à partir d’un objet itérable. Les fonctions doivent être appelées à l’aide de parenthèses. Pour résoudre ce problème, assurez-vous d’appeler une fonction à l’aide de parenthèses.

Vous êtes maintenant prêt à résoudre ce problème courant. Erreur Python comme un expert !