[EMAIL PROTECTED] wrote: > Het was juist mijn bedoeling Martijn zijn code in een klasse te > gieten. Ik zie niet in wat daar 'vuil' van wordt. > > Waarom is het beter om geen klasse te gebruiken?
Het lijkt me logisch dat als je kunt kiezen tussen twee oplossingen die equivalent zijn, je voor de simpelste kiest. De class voegt niets toe behalve boilerplate. Maar waarom makkelijk als het ook moeilijk kan :) > De 'next' komt voort uit hoe ik het Iterator patroon ken. > Maar dat is vast niet pythonisch genoeg. Het iterator protocol is bijzonder Pythonic, maar je kent het blijkbaar niet goed. Zie http://docs.python.org/lib/typeiter.html Heel in het kort: Iterable (ding waarover je kunt loopen): - heeft een .__iter__() method die een iterator returnt Iterator: - heeft een .next() method die het volgende ding returnt, of StopIteration raised als er geen volgend ding is. - heeft een __next__() method die self returnt (waarmee elke iterator dus gelijk ook een iterable is). Jouw class was geen iterator, want de .next() method returnde niet "het volgende item" en de __next__ method returnde niet self. Het was wel een iterable, dus het werkte wel in de context van een for loop. Just _______________________________________________ Python-nl mailing list Python-nl@python.org http://mail.python.org/mailman/listinfo/python-nl