Junior — Middle
112
Pouvez-vous expliquer ce qu'est un protocole d'itération et à quoi il sert en programmation?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
Итерационный протокол в программировании — это соглашение, которое позволяет объектам быть перебираемыми в циклах, например, в Python с помощью for. Объект, реализующий итерационный протокол, должен предоставлять метод __iter__(), возвращающий итератор, и итератор должен иметь метод __next__(), который возвращает следующий элемент или вызывает исключение StopIteration, когда элементы закончились.
Это используется для удобного и эффективного обхода коллекций данных, генераторов и других последовательностей без необходимости знать внутреннюю структуру объекта.
Пример простого итератора в Python:
class CountUpTo:
def __init__(self, max):
self.max = max
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current < self.max:
self.current += 1
return self.current
else:
raise StopIteration
for number in CountUpTo(5):
print(number)