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