Back to questions
Junior — Middle
83
Какие функции необходимо переопределить для реализации собственного итератора?
Answer from AI
sobes.tech AI
Для реализации собственного итератора в Python необходимо определить класс, который реализует два метода:
__iter__(self)— должен возвращать сам итератор (обычноself).__next__(self)— возвращает следующий элемент последовательности. Если элементов больше нет, должен вызвать исключениеStopIteration.
Пример простого итератора, который возвращает числа от 1 до 3:
class MyIterator:
def __init__(self):
self.current = 1
self.max = 3
def __iter__(self):
return self
def __next__(self):
if self.current <= self.max:
val = self.current
self.current += 1
return val
else:
raise StopIteration
# Использование:
for num in MyIterator():
print(num)
Таким образом, для создания итератора достаточно реализовать эти два метода.