Junior — Middle
106
Van gyakorlati tapasztalata típusos generátorok létrehozásában és leírásában?
Válasz az MI-től
sobes.tech MI
В 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, не принимает значения при отправке и не возвращает значение при завершении.