生成器在Python中使用什么类型的签名?

时间:2015-11-25 13:54:59

标签: python python-3.x annotations type-hinting

鉴于新的Python 3.5允许使用类型签名进行类型提示,我想使用新功能,但我不知道如何使用以下结构完全注释函数:

def yieldMoreIfA(text:str):
    if text == "A":
        yield text
        yield text
        return
    else:
        yield text
        return

什么是正确的签名?

1 个答案:

答案 0 :(得分:9)

有一个Generator[yield_type, send_type, return_type] type

from typing import Generator

def yieldMoreIfA(text: str) -> Generator[str, None, None]:
    if text == "A":
        yield text
        yield text
        return
    else:
        yield text
        return