Klasse Javascript-lijstmethoden

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

De argumenten in Python-methoden moeten tussen haakjes worden opgegeven. Dit komt omdat functies en methoden haakjes gebruiken om aan te geven of ze worden aangeroepen. Als u vierkante haken gebruikt om een methode aan te roepen, krijgt u de foutmelding "TypeError: `method` object is notsubscriptable ".

In deze handleiding leggen we uit wat deze fout betekent en waarom u het tegenkomen. Laten we een voorbeeld van deze fout bekijken om u te helpen een oplossing te ontwikkelen.

TypeError: `methode` het object is niet geabonneerd

De inschrijfbare objecten zijn objecten met een __getitem__ methode. Dit zijn gegevenstypen zoals lijsten, woordenboeken en tupels. Met de methode __getitem__ kan de Python-interpreter een enkel item uit een verzameling ophalen.

Niet alle items zijn geabonneerd. Methoden zijn dat bijvoorbeeld niet. Dit komt omdat ze de __getitem__-methode niet implementeren. Dit betekent dat u de syntaxis tussen haakjes niet kunt gebruiken om toegang te krijgen tot de elementen van een methode of om een methode aan te roepen.

Beschouw het volgende codefragment:

Deze code retourneert "Edam", de kaas in positie van index 0. U kunt geen vierkante haken gebruiken om een functie of methode aan te roepen, omdat de functies en methoden geen objecten zijn waarop u zich kunt abonneren.

p>

Een voorbeeldscenario

Hier maken we een programma dat de kazen in objecten opslaat. De "Kaas" De klasse die we gebruiken om een kaas te definiëren, heeft een methode waarmee we kunnen controleren of een kaas uit een bepaald land van herkomst komt.

Begin met definieer een klasse voor onze kazen. Laten we deze klasse Cheese noemen:

Onze klasse bevat twee methoden. De eerste methode definieert de structuur van het Cheese-object. De tweede maakt het mogelijk om te controleren of het land van herkomst van een kaas gelijk is aan een bepaalde waarde.< br>

Dan , laten we een object maken van onze Cheese-klasse:

De variabele "edam" is een object. De naam die bij de kaas hoort is Edammer en het land van herkomst is Nederland.

Vervolgens noemen we onze get_country () methode:

Deze code voert de get_country () methode van de klasse Cheese. De get_country ( ) controleert of de waarde van "origin" in ons "edam" object gelijk is aan "Germany".

Voer onze code uit en kijk wat gebeurt:

Er is een fout opgetreden in onze code.

Laten we de regel analyseren code die de Python-debugger als onjuist heeft geïdentificeerd:

In deze regel code gebruiken we vierkante haken om de methode get_country () aan te roepen. Dit is geen acceptabele syntaxis omdat vierkante haken worden gebruikt om toegang te krijgen tot items in een lijst. Aangezien functies en objecten niet zijn geabonneerd, kunnen we geen vierkante haakjes gebruiken om ze aan te roepen.

Om deze fout te corrigeren, hebben we om de haakjes te vervangen door accolades:

Laten we onze code uitvoeren en kijken wat er gebeurt:

Onze code werkt prima. Laten we proberen te controleren of Edammer uit "Nederland" komt om er zeker van te zijn dat onze functie in alle gevallen werkt, ongeacht of de waarde die we specificeren hetzelfde is als het land van herkomst van de kaas:

Onze code geeft als resultaat:

Onze code werkt als de waarde die we specificeren gelijk is aan het land van herkomst van een kaas.

Conclusie

De fout "TypeError: `method` not subscribable" wordt gegenereerd wanneer vierkante haken worden gebruikt om een methode binnen een klasse aan te roepen. Om deze fout op te lossen, moet u ervoor zorgen dat u alleen de methoden van een klasse aanroept met accolades achter de naam van de methode die u wilt aanroepen.

U bent nu klaar om deze veelvoorkomende Python-fout op te lossen als een professionele programmeur !