Встречается на собеседованиях • сегодня

Приведи пример использования генератора

Генераторы в Python позволяют создавать итераторы без необходимости реализовывать методы __iter__() и __next__(). Они удобны для работы с большими или бесконечными последовательностями, так как генерируют значения "на лету", экономя память.

Пример простого генератора, который генерирует квадраты чисел:

python
def square_numbers(n):
    for i in range(n):
        yield i ** 2

Использование

squares = square_numbers(5)
for num in squares:
print(num) # Выведет: 0, 1, 4, 9, 16

text

Генераторное выражение (аналог list comprehension, но ленивый):
```python
squares_gen = (x**2 for x in range(5))
print(list(squares_gen))  # [0, 1, 4, 9, 16]

Генераторы особенно полезны при обработке больших файлов:

python
def read_large_file(file_path):
    with open(file_path) as file:
        for line in file:
            yield line.strip()

# Обработка файла построчно без загрузки в память целиком
for line in read_large_file('big_file.txt'):
    process(line)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы