Python: Das Objekt unterstützt keine Indizierung

7

Ja, diese Frage wurde schon einmal gestellt. Nein, keine der Antworten, die ich gelesen habe, könnte das Problem lösen, das ich habe.

Ich versuche ein kleines Bounce-Spiel zu erstellen. Ich habe die Bausteine ​​so erstellt:

%Vor%

Und ich versuche hier die ID von bricksId[0] zu referenzieren:

%Vor%

Früher definiere ich in __init__ Ziegel als Steine, was als Brick(canvas) definiert ist. Der Fehler besagt jedoch:

%Vor%

In den Antworten auf die anderen Fragen zu diesem Thema kann ich keine finden, die mir helfen, auf bricks.bricksId[0] zuzugreifen.

    
Jonathan Spirit 17.03.2014, 19:43
quelle

1 Antwort

19

Damit das Objekt Brick indexierbar ist, müssen Sie die folgenden Methoden implementieren:

  • __getitem__
  • __setitem__
  • __delitem__

Sie brauchen nicht alle, nur die, die Sie verwenden.

Dies scheint jedoch ein Fall zu sein, in dem self.bricks ein Ziegel statt einer Liste von Ziegeln ist. Eine Liste von Bausteinen ist indexierbar; Ein Brick selbst wird jedoch erst dann verwendet, wenn Sie die oben genannten Methoden implementieren.

Überprüfen Sie dies als Referenz.

Um self.bricks.bricksId[number] aufrufen zu können, wenn ich gebraucht habe:

%Vor%     
bitsplit 17.03.2014 19:57
quelle

Tags und Links