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 είναι ο τυπικός τρόπος να δηλώσετε το τέλος ενός γεννήτρια.