Back to questions
Junior — Middle
50
Какие компоненты включает описание типов для генератора?
Answer from AI
sobes.tech AI
Описание типов для генератора в Python обычно включает два основных компонента:
- Тип значения, возвращаемого оператором
yield— это тип элементов, которые генератор выдаёт при итерации. - Тип значения, возвращаемого функцией генератора при завершении (
return) — это тип значения, которое можно получить через исключениеStopIteration.
В аннотациях типов для генераторов используется typing.Generator[yield_type, send_type, return_type], где:
yield_type— тип значений, которые выдаёт генератор.send_type— тип значений, которые можно отправлять в генератор через методsend()(обычноNone, если не используется).return_type— тип значения, возвращаемого при завершении генератора.
Пример:
from typing import Generator
def gen() -> Generator[int, None, str]:
yield 1
yield 2
return "done"
Здесь генератор выдаёт целые числа, не принимает значения через send(), и возвращает строку при завершении.