Я пытаюсь создать класс, который наследуется от списка Python.Я хочу, чтобы элементы списка были инициализированы / завершены с каждым циклом списка.Я думал, что это можно сделать, переопределив метод __iter__
в списке python, но я не могу заставить его работать.Метод __iter__
вызывается только один раз?(см. ниже)
class MyList(list):
def __iter__(self):
print 'do something'
return list.__iter__(self)
my_list = MyList(range(10))
print my_list
for item in my_list:
print item
Вывод
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
do something
0
1
2
3
4
5
6
7
8
9
Есть идеи, как мне добиться того, что я хочу сделать?