Встречается на собеседованиях • сегодня
Зачем нужны магические (dunder) методы в итераторе
Магические методы (dunder) в итераторе позволяют объекту поддерживать итерацию в циклах for и других контекстах, где требуется перебор элементов. Основные методы:
__iter__()— возвращает сам итератор (или новый итератор для коллекции).__next__()— возвращает следующий элемент или вызываетStopIteration, если элементы закончились.
Пример:
python
class CountUpTo:
def __init__(self, max_val):
self.max_val = max_val
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current >= self.max_val:
raise StopIteration
self.current += 1
return self.current - 1
# Использование:
for num in CountUpTo(5):
print(num) # 0, 1, 2, 3, 4Без этих методов объект не будет работать в for, next(), генераторах и других итерационных контекстах.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы