Какие методы должен поддерживать итерируемый объект в Python
Python
Middle
Aston
Какие методы должен поддерживать итерируемый объект в Python
Ответы
Итерируемый объект в Python должен поддерживать метод `__iter__()`, который возвращает итератор. Итератор, в свою очередь, должен реализовывать метод `__next__()` для последовательного возврата элементов.
Пример:
```
class MyIterable:
def __init__(self, data):
self.data = data
def __iter__(self):
return iter(self.data) # или self.Iterator(self)
class Iterator:
def __init__(self, iterable):
self.iterable = iterable
self.index = 0
def __next__(self):
if self.index >= len(self.iterable.data):
raise StopIteration
value = self.iterable.data[self.index]
self.index += 1
return value
```
Итерируемый объект может также поддерживать `__getitem__()` для совместимости со старым стилем итерации, но предпочтительно использовать `__iter__()`.