Junior — Middle
89
Na koji način su implementirani generatori u vašem projektu?
Компаније где су питане
Effective Mobile
Одговор од АИ
sobes.tech АИ
В Python генераторы реализованы с помощью ключевого слова yield, которое позволяет функции возвращать промежуточные результаты без завершения работы функции. Это позволяет эффективно работать с большими объемами данных, не загружая всю коллекцию в память.
Пример простого генератора:
def count_up_to(max_value):
count = 1
while count <= max_value:
yield count
count += 1
for number in count_up_to(5):
print(number)
Также в проекте могут использоваться генераторы выражений — компактный способ создания генераторов:
squares = (x*x for x in range(10))
for square in squares:
print(square)
В некоторых случаях генераторы реализуются через классы с методом __iter__ и __next__, но чаще используется синтаксис с yield из-за его простоты и читаемости.