Назад к вопросам
Middle
66
questionbank
Какие методы существуют у итератора в Python?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
У итератора в Python существует два основных метода:
__iter__(): Возвращает сам объект итератора. Это часть протокола итерации.__next__(): Возвращает следующий элемент из итерации. Когда элементов больше нет, вызывает исключениеStopIteration.
Пример:
class MyIterator:
def __init__(self, data):
self.data = data
self.index = 0 # Индекс для отслеживания текущего положения
def __iter__(self):
return self # Метод __iter__ возвращает сам итератор
def __next__(self):
if self.index < len(self.data):
value = self.data[self.index]
self.index += 1
return value # Возвращаем следующий элемент
else:
raise StopIteration # Вызываем исключение при окончании итерации
# Использование итератора
my_list = [10, 20, 30, 40]
my_iter = MyIterator(my_list)
# Итерация с помощью next()
print(next(my_iter)) # 10
print(next(my_iter)) # 20
# Итерация с помощью цикла for (он internally использует __iter__ и __next__)
for item in MyIterator(my_list):
print(item) # 10, 20, 30, 40