Hello all

When I create an Object and set its __iter__ method from outside
s = Sequence #one of my own classes
s.__iter__ = new.instancemethod(f,s,Sequence)

I get different results, depending on whether I call


for x in y.__iter__():
    print x

or

for x in y:
    print x

The first case does what I expected, i.e. it iterates over whatever f()
yields. In the second case nothing is printed. I have the impression
that it still calls the original __iter__() method (the one defined at
the class level).

Why is that so?
How can I replace the __iter__() method so it does what I want.

The reason I want to do such things is I need to implement operations
similar to what itertools do. However I want my own classes and the
operations are only similar to itertools, but differ in significant
details.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to