5 Stimmen

__getitem__-Aufruf in der for-Schleife

Ich lerne gerade Python, und ich verstehe nichts davon. Betrachten Sie diesen Code:

class Stack:
   def __init__(self):
        self.items = []

   def push(self, item):
       self.items.append(item)

   def pop(self):
       return self.items.pop()

   def __getitem__(self,index):
       print "index",index
       return self.items[index]

   def __len__(self):
       return len(self.items)

stack = Stack()
stack.push(2)
stack.push(1)
stack.push(0)

for item in stack:
    print item

und die Ausgabe

index 0
2
index 1
1
index 2
0
index 3

Warum ist getitem viermal angerufen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X