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