Middle
Python-ში იტერატორად ყოფნისთვის რა უნდა ჰქონდეს ობიექტს?
sobes.tech AI
პასუხი AI-სგან
პითონში ობიექტი არის ინტერატორი, თუ ის ახორციელებს ორ მეთოდს:
__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