Javascript-Listenmethoden Der Klasse

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

Argumente in Python-Methoden mussen in Klammern angegeben werden. Dies liegt daran, dass sowohl Funktionen als auch Methoden Klammern verwenden, um zu erkennen, ob sie aufgerufen werden. Wenn Sie eine Methode in eckigen Klammern aufrufen, wird ein "TypeError: ‚Äòmethod‚Äô Objekt ist nicht subskribierbar‚" Fehler.

In diesem Leitfaden erläutern wir, was dieser Fehler bedeutet und warum er auftreten kann. Wir gehen ein Beispiel fur diesen Fehler durch, um Ihnen bei der Entwicklung einer Lösung zu helfen.

TypeError: ‘Methode’ Objekt ist nicht subscriptable

Subskriptable Objekte sind Objekte mit einer __getitem__ Methode. Dies sind Datentypen wie Listen, Wörterbucher und Tupel. Die Methode __getitem__ ermöglicht es dem Python-Interpreter, ein einzelnes Element aus einer Sammlung abzurufen.

Nicht alle Objekte sind indiziert. Methoden sind es zum Beispiel nicht. Dies liegt daran, dass sie die Methode __getitem__ nicht implementieren. Das bedeutet, dass Sie die Syntax in eckigen Klammern nicht verwenden können, um auf die Elemente in einer Methode zuzugreifen oder eine Methode aufzurufen.

Betrachten Sie den folgenden Codeausschnitt:

Dieser Code gibt "Edam‚" zuruck, den K√§se an der Indexposition 0. Wir k√∂nnen keine eckigen Klammern verwenden, um eine Funktion oder Methode aufzurufen, da Funktionen und Methoden keine indizierten Objekte sind.

Ein Beispielszenario

Hier bauen wir ein Programm, das K√§se in Objekten speichert. Der ‚ÄûK√§se‚" Die Klasse, die wir zum Definieren eines K√§ses verwenden, verfugt uber eine Methode, mit der wir uberprufen k√∂nnen, ob ein K√§se aus einem bestimmten Herkunftsland stammt.

Beginnen Sie mit Definieren einer Klasse fur unsere Käse. Wir nennen diesen Kurs Cheese:

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Unser Kurs umfasst zwei Methoden. Die erste Methode definiert die Struktur des Cheese-Objekts. Mit der zweiten können wir uberprufen, ob das Herkunftsland eines Käses einem bestimmten Wert entspricht.

Als nächstes erstellen wir ein Objekt aus unserer Cheese-Klasse:

Die Variable "edam‚" ist ein Objekt. Der mit dem K√§se verbundene Name ist Edam und sein Ursprungsland sind die Niederlande.< br>

Als nächstes rufen wir unsere Methode get_country() auf:

Dieser Code fuhrt die Methode get_country() der Cheese-Klasse aus. Die < Die Methode code>get_country() pruft, ob der Wert von "origin‚" in unserem "edam‚"-Objekt gleich "Germany‚" ist.

Fuhren Sie unseren Code aus und sehen Sie, was passiert:

In unserem Code ist ein Fehler aufgetreten.

Lassen Sie uns die Codezeile analysieren die der Python-Debugger als fehlerhaft erkannt hat:

In dieser Codezeile verwenden wir eckige Klammern, um die Methode get_country() aufzurufen. Dies ist keine akzeptable Syntax, da eckige Klammern verwendet werden, um auf Elemente aus einer Liste zuzugreifen. Da Funktionen und Objekte nicht indiziert werden können, können wir sie nicht in eckigen Klammern aufrufen.

Um diesen Fehler zu beheben, mussen wir ersetzen Sie die eckigen Klammern durch geschweifte Klammern:

Lassen Sie unseren Code ausfuhren und sehen, was passiert:

Unser Code wird erfolgreich ausgefuhrt. Versuchen wir zu uberprufen, ob Edam aus "Niederlande‚" um sicherzustellen, dass unsere Funktion in allen F√§llen funktioniert, unabh√§ngig davon, ob der von uns angegebene Wert dem Herkunftsland des K√§ses entspricht oder nicht:

Unser Code gibt Folgendes zuruck:

Unser Code funktioniert, wenn der von uns angegebene Wert dem Herkunftsland eines Käses entspricht.

Schlussfolgerung

Der Fehler "TypeError: ‚Äòmethod‚Äô is not subscriptable‚" wird ausgel√∂st, wenn Sie eckige Klammern verwenden, um eine Methode innerhalb einer Klasse aufzurufen. So beheben Sie diesen Fehler , stellen Sie sicher, dass Sie nur Methoden einer Klasse mit geschweiften Klammern nach dem Namen der Methode aufrufen, die Sie aufrufen m√∂chten.

Jetzt sind Sie bereit, diesen häufigen Python-Fehler wie ein professioneller Programmierer!