Форум сайта python.su
Всем привет!
Пытаюсь решить python - quiz (http://pyobject.ru/blog/2010/02/04/python-quiz/)
4ое задание на Классы предполагает, что нужно использовать класс как итератор.
Но у возникает ошибка: TypeError: ‘type’ object is not iterable
Вот код
class Reg(object):
inst = []
def __init__(self):
Reg.inst.append(self)
def __iter__(self):
for i in inst:
yield i
r1 = Reg()
r2 = Reg()
for r in Reg:
print(r)
Офлайн
Так ведь это на самом деле задание на метаклассы. Итератор тоже должен быть в этом самом метаклассе.
Офлайн
Андрей СветловОо.. спасибо! буду разбираться
Так ведь это на самом деле задание на метаклассы. Итератор тоже должен быть в этом самом метаклассе.
Офлайн
И у итератора должен быть реализован метод __next__, выбрасывающий исключение StopIteraion после исчерпания элементов.
Офлайн