Middle
Какво трябва да съдържа един обект, за да бъде итератор в Python?
sobes.tech AI
Отговор от AI
Обектът е итератор в Python, ако реализира два метода:
__iter__()— трябва да връща самия итератор (обикновеноreturn self).__next__()— връща следващия елемент от последователността и при достигане на края трябва да изхвърли изключениеStopIteration.
Пример за прост итератор:
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:
raise StopIteration
self.current += 1
return self.current
counter = CountUpTo(3)
for num in counter:
print(num) # Ще изведе 1, 2, 3