Sobes.tech
Back to questions
Junior — Middle
69

Имеете ли вы практический опыт в создании и описании типизированных генераторов?

Answer from AI

sobes.tech AI

В Python генераторы позволяют создавать итераторы с помощью ключевого слова yield. Типизированные генераторы — это генераторы, у которых явно указаны типы элементов, которые они возвращают, с помощью аннотаций типов.

Пример типизированного генератора:

from typing import Generator

def count_up_to(max_value: int) -> Generator[int, None, None]:
    count = 1
    while count <= max_value:
        yield count
        count += 1

# Использование
for number in count_up_to(5):
    print(number)

В этом примере функция count_up_to возвращает генератор, который последовательно выдаёт целые числа от 1 до max_value. Аннотация Generator[int, None, None] указывает, что генератор выдаёт значения типа int, не принимает значения при отправке и не возвращает значение при завершении.