Méthodes De Classe De Liste Javascript

| | | | | | | | | | | | | | | |

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:

Notre classe contient deux méthodes. La première méthode définit la structure de l’objet Cheese. La seconde permet de vérifier si le pays d’origine d’un cheese est égal à une certaine valeur.

Ensuite, créons un objet à partir de notre classe Cheese:

La variable" edam "est un objet. Le nom associé au fromage est Edam et son pays d’origine est les Pays-Bas.

Ensuite, nous appelons notre méthode get_country ():

Ce code exécute la méthode get_country () de la classe Cheese. La get_country() vérifie si la valeur de "origin" dans notre objet "edam" est égale à "Germany".

Exécutez notre code et voyez ce que se passe:

Une erreur s’est produite dans notre code.

Analysons le ligne de code que le débogueur Python a identifiée comme incorrecte:

Dans cette ligne de code, nous utilisons des crochets pour appeler la méthode get_country(). Ce n’est pas une syntaxe acceptable car les crochets sont utilisés pour accéder aux éléments d’une liste. √âtant donné que les fonctions et objets ne sont pas abonné, nous ne pouvons pas utiliser de crochets pour les appeler.

Pour corriger cette erreur, nous besoin de remplacer les crochets par des accolades:

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

Notre code fonctionne très bien. Essayons de vérifier si Edam vient des "Pays-Bas" pour nous assurer que notre fonction fonctionne dans tous les cas, que la valeur que nous spécifions soit ou non la même que le pays d’origine du fromage:

Notre code renvoie:

Notre code fonctionne si la valeur que nous spécifions est égal au pays d’origine d’un fromage.

Conclusion

L’erreur "TypeError: ’method’ not subscribable" est générée lors de l’utilisation de crochets pour appeler une méthode au sein d’une classe. Pour résoudre cette erreur, veillez à n’appeler que le méthodes d’une classe en utilisant des accolades après le nom de la méthode que vous souhaitez appeler.

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