Python中的生成器有什么类型签名?

15 投票
1 回答
2334 浏览
提问于 2025-05-11 02:24

因为新的Python 3.5版本允许使用类型提示和类型签名,我想利用这个新功能,但我不知道如何完整地给一个函数加上注解,下面是这个函数的结构:

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

那么,正确的签名是什么呢?

相关文章:

  • 暂无相关问题
暂无标签

1 个回答

14

这里有一个叫做 Generator[yield_type, send_type, return_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

撰写回答