Junior — Middle
Какъв е резултатът от изпълнението на метода __iter__ в Python?
sobes.tech AI
Отговор от AI
Методът __iter__ в Python връща итератор на обекта. Този итератор трябва да реализира метода __next__, който при всяко извикване връща следващия елемент от последователността, а при достигане на края повдига изключението StopIteration.
По този начин, извикването iter(obj) извиква obj.__iter__(), а върнатият обект се използва в цикли for и други конструкции, работещи с итератори.
Пример:
class MyRange:
def __init__(self, n):
self.n = n
def __iter__(self):
self.current = 0
return self
def __next__(self):
if self.current < self.n:
val = self.current
self.current += 1
return val
else:
raise StopIteration
for i in MyRange(3):
print(i)
# Изход:
# 0
# 1
# 2