hello,

I'm learning Python and OOP, and I am confronted with a rather
theoretical problem.

If I run the following script:

class stepper:
    def __getitem__(self, i):
        return self.data[i]

X=stepper()
X.data="Spam"
for item in X:
    print item,

... what I get is     S p a m     which seems logical to me since the
loop stops after the 4th character.


However if I run

class stepper:
    def __getitem__(self, i):
        return i

X=stepper()
X.data="Spam"
for item in X:
    print item,

... what I get is an endless loop, starting at zero:    0 1 2 3 4 5 6
7 8 9 10 11  and so on.

My question is: why does this second script not stop after printing
number 3?  what made the first one stop while the second one will not?

Thanks for your advise

Vicente Soler
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to