Les Les arguments dans les méthodes Python doivent être spécifiés entre parenthèses. En effet, les fonctions et les méthodes utilisent des parenthèses pour indiquer si elles sont appelées. Si vous utilisez des crochets pour appeler une méthode, vous rencontrerez une erreur "TypeError: ’method’ object is notsubscriptable " .
Dans ce guide, nous expliquons ce que signifie cette erreur et pourquoi vous peut le rencontrer. Regardons un exemple de cette erreur pour vous aider à développer une solution.
TypeError: ’method’ l’objet n’est pas abonné
Les objets pouvant être souscrits sont des objets avec une méthode __getitem__. Ce sont des types de données tels que des listes, des dictionnaires et des tuples. La méthode __getitem__ permet à l’interpréteur Python de récupérer un seul élément d’une collection.
Tous les objets ne sont pas abonné. Les méthodes, par exemple, ne le sont pas. C’est parce qu’ils n’implémentent pas la méthode __getitem__. Cela signifie que vous ne pouvez pas utiliser la syntaxe entre crochets pour accéder aux éléments d’une méthode ou pour appeler une méthode.
Considérez l’extrait de code suivant:
Ce code renvoie "Edam", le fromage en position d’index 0. On ne peut pas utiliser de crochets pour appeler une fonction ou une méthode car les fonctions et méthodes ne sont pas des objets auxquels on peut s’abonner.
Un exemple de scénario
Ici, nous créons un programme qui stocke les fromages dans des objets. Le "Fromage" La classe que nous utilisons pour définir un fromage aura une méthode qui nous permettra de vérifier si un fromage provient d’un pays d’origine particulier.
Commencer par définir une classe pour nos fromages. Appelons cette classe Fromage: