_int_ Objekt ist nicht skriptierbar

_int_ Objekt ist nicht skriptierbar
Ein einweisbares Objekt in Python bezieht sich auf Objekte, die als Container fungieren. Oder das Objekt enthält andere Objekte. Sie können eine Indexierungsnotation verwenden, um auf bestimmte Elemente des Objekts zuzugreifen. Ein Objekt ist einweisbar, wenn es die __getItem __ () oder __class_getItem __ () Methoden implementiert.

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 = 1000
print (i [0])

In 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.py
Traceback (letzte Anruflast):
Datei "einweisbar.py ", Zeile 2, in
print (i [0])
TypeError: 'int' Objekt ist nicht einweisbar

Dies hindert uns daran, Indexierungsnotationen zu verwenden, um auf Elemente eines INT -Typs zuzugreifen.

In Python gehören einweisbare Objekte::

  1. Saite
  2. Tupel
  3. Liste
  4. DICT
  5. Jede Klasse, die __getItem __ () implementiert,)

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 = 1000
i = str (i)
print (i [0])

In diesem Fall sollte der Code das Element bei Index 0 wie gezeigt funktionieren und zurückgeben:

$ python einweisbar.py
1

Bonus: 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:
Def __GetItem __ (Selbst, Schlüssel):
Eingabetaste
new_object = myclass ()
print (New_Object [0])

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.py
0

Sie können diese Notation verwenden, um ein bestimmtes Element Ihres Objekts zu erhalten.

Ein Beispiel ist wie gezeigt:

Klassenauto:
Def __init __ (Selbst, Modell):
selbst.Modell = Modell
Def __GetItem __ (Selbst, Schlüssel):
Rückkehr selbst.Modell [Schlüssel]
y = Auto ('Honda Civic')
print (y [0: 5])

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.py
Honda

In 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.