Встречается на 2% собеседований по Python
Что возвращает метод __iter__
Метод __iter__ должен возвращать объект-итератор. Этот итератор должен реализовывать метод __next__, который возвращает следующие элементы последовательности или вызывает StopIteration, когда элементы закончились.
Пример:
python
class MyIterable:
def __init__(self, data):
self.data = data
def __iter__(self):
return iter(self.data) # Возвращает итератор списка
obj = MyIterable([1, 2, 3])
for item in obj:
print(item) # 1, 2, 3
text
Если объект сам является итератором, `__iter__` может возвращать `self`:
```python
class MyIterator:
def __init__(self, data):
self.data = data
self.index = 0
def __iter__(self):
return self
def __next__(self):
if self.index >= len(self.data):
raise StopIteration
value = self.data[self.index]
self.index += 1
return value
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы