Junior — Middle
Python-ში გენერატორის ფუნქციის შესრულების დასრულების შემდეგ რა შედეგი მიიღება?
sobes.tech AI
პასუხი AI-სგან
Python-ში გენერატორის ფუნქციის შესრულების დასრულებისას, გამოიწვევა გამონაკლისი StopIteration. ეს მიუთითებს, რომ გენერატორმა ყველა თავისი მნიშვნელობა ამოწურა და აღარ შეუძლია ახალი მნიშვნელობების მიწოდება.
თუ იტერირებთ გენერატორზე for ციკლში, ეს გამონაკლისი ავტომატურად მუშავდება და ციკლი დასრულდება.
მაგალითი:
def gen():
yield 1
yield 2
g = gen()
print(next(g)) # გამოიტანს 1
print(next(g)) # გამოიტანს 2
print(next(g)) # გამოიწვევს `StopIteration`
ამიტომ, StopIteration არის სტანდარტული მეთოდი გენერატორის დასრულების შესახებ ინფორმაციის მისაწოდებლად.