Встречается на 2% собеседований по Python
Зачем нужны магические (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
интервью вопросы и ответы