In diesem Artikel wurde der Python -Unsubscriptable -Fehler erörtert, was ihn verursacht und wie man ihn behebt.
Was das Objekt 'in' verursacht, ist kein aufschlussreicher Fehler?
Dieser Fehler wird verursacht, wenn Sie einen Ganzzahltyp als unterschreibbares Objekt in Python behandeln.
Dies bedeutet, dass Sie versuchen, auf Elemente eines INT -Typs zuzugreifen, der nicht unterstützt wird.
Ein Beispiel ist wie gezeigt:
I = 1000In diesem Fall versuchen wir, auf ein Element eines ganzzahligen Typs zuzugreifen, das nicht unterstützt wird, wenn ein int -Objekt nicht einweisbar ist.
Das Ausführen des obigen Codes sollte einen Fehler wie gezeigt zurückgeben:
$ python einweisbar.pyDies hindert uns daran, Indexierungsnotationen zu verwenden, um auf Elemente eines INT -Typs zuzugreifen.
In Python gehören einweisbare Objekte::
So beheben Sie TypeError: 'int' Objekt ist kein aufschlussreicher Fehler
Um diesen Fehlertyp zu beheben, sollten Sie es vermeiden, die Indexierungsnotation auf einem nicht unterstützten Typ zu verwenden.
Wenn Sie jedoch auf Elemente eines Objekts zugreifen müssen, können Sie es in ein einweisbares Objekt umwandeln.
In unserem vorherigen Beispiel können wir beispielsweise die Ganzzahl in einen Zeichenfolge -Typ als einweisbar umwandeln.
Betrachten Sie die unten gezeigte Abbildung:
I = 1000In diesem Fall sollte der Code das Element bei Index 0 wie gezeigt funktionieren und zurückgeben:
$ python einweisbar.pyBonus: Implementierung __getItem __ () in Ihrer Klasse
In einigen Fällen müssen Sie möglicherweise Ihr Objekt einweisen. Daher müssen Sie die __getItem__ -Methode in Ihrer Klasse implementieren.
Das folgende Beispiel zeigt, wie Sie ein einfach einweisbares Objekt erstellen.
Klasse Myclass:Im obigen Beispiel erstellen wir zunächst eine einfache Klasse, die die __GetItem__ -Methode implementiert.
Die Funktion nimmt einfach den Schlüssel und kehrt sich selbst zurück. Das Ausführen des obigen Codes sollte beispielsweise zurückgeben:
$ python einweisbar.pySie können diese Notation verwenden, um ein bestimmtes Element Ihres Objekts zu erhalten.
Ein Beispiel ist wie gezeigt:
Klassenauto:In diesem Fall können Sie mit der Methode Elemente in einem bestimmten Index abrufen. Das Ausführen des obigen Codes sollte zurückgeben:
$ python einweisbar.pyIn der folgenden Ressource erfahren Sie mehr über den Python __getItem______:
https: // docs.Python.org/3/referenz/datamodel.HTML#Objekt.__GetItem__
Abschluss
In diesem Artikel wurde der Python -Unsubscriptable -Fehler erörtert, was ihn verursacht und wie man ihn behebt.