Junior — Middle
Μπορείτε να εξηγήσετε τι είναι ένας γεννήτριας λειτουργιών και πώς χρησιμοποιείται;
sobes.tech AI
Απάντηση από AI
Ο γεννήτορας λειτουργιών είναι ένας ειδικός τύπος λειτουργίας που μπορεί να διακόψει την εκτέλεσή του και να επιστρέψει ενδιάμεσα τιμές χρησιμοποιώντας τη λέξη-κλειδί yield. Σε αντίθεση με τις κανονικές λειτουργίες, οι γεννήτορες επιτρέπουν την επανάληψη σε μια ακολουθία τιμών χωρίς να χρειάζεται να δημιουργήσουν ολόκληρη τη λίστα αμέσως στη μνήμη.
Παράδειγμα σε Python:
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
for number in count_up_to(5):
print(number)
Εδώ, η λειτουργία count_up_to επιστρέφει τους αριθμούς από το 1 έως το 5, έναν κάθε φορά. Αυτό είναι χρήσιμο για εργασία με μεγάλες ή άπειρες ακολουθίες, εξοικονομώντας μνήμη και επιτρέποντας την επεξεργασία δεδομένων καθώς απαιτείται.