【问题标题】:Proper typing for a interesting 'yield' function正确输入一个有趣的 \'yield\' 函数
【发布时间】:2022-12-17 10:54:53
【问题描述】:

Python 类型文档包括生成器函数类型的示例。产量仍然是一个我很难理解的概念,但我有一个我不太确定如何正确使用打字的场景。该代码是我当前挣扎的一个非常基本的示例,并显示了我的问题从何而来。如果我在一个函数中有两个 yield,我将如何为该函数使用类型? typing 上的文档没有给我明确的答案,我目前的偏好是使用 Iterator[dict]。

def yield_func() -> ?:
    A: dict = {}
    B: dict = {}

    yield A
    yield B

我目前会使用 Iterator[dict] 作为给定函数的键入注释。

【问题讨论】:

    标签: python type-annotation


    【解决方案1】:

    你可以使用“发电机”

    from typing import Generator
    
    def yield_func() -> Generator[dict, None, None]:
        A: dict = {}
        B: dict = {}
    
        yield A
        yield B
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多