Встречается на собеседованиях • сегодня
Какие есть способы написать генератор
В Python есть несколько способов создания генераторов:
- Функция с yield - самый распространённый способ:
python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1- Генераторное выражение - аналогично list comprehension, но в круглых скобках:
python
squares = (x*x for x in range(10))- Класс с iter и next - можно создать собственный итератор:
python
class Count:
def __init__(self, limit):
self.limit = limit
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
self.current += 1
return self.current
raise StopIterationГенераторы ленивы - вычисляют элементы по требованию и экономят память. Они особенно полезны при работе с большими или бесконечными последовательностями.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы