Генератори можуть використовуватися як ітератори для структур даних і для лінивих обчислень. Наприклад, генератор чисел Фібоначчі: def fib(): a, b = 1, 1 while True: yield a a, b = b, a + b while x in fib(): print(x) При виклику генератора функція негайно повертає об'єкт-ітератор, який зберігає поточну точку виконання та стан локальних змінних функції. При запиті наступного значення (за допомогою методу next(), який неявно викликається в циклі for) генератор продовжує виконання функції від попередньої точки зупину до наступного оператора yield або return.