Junior — Middle
90
¿De qué manera se implementan los generadores en su proyecto?
Empresas donde se preguntó
Effective Mobile
Respuesta de la IA
sobes.tech AI
В 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 из-за его простоты и читаемости.