使用 Hypothesis 库编写下游 Python 类型提示

问题描述 投票:0回答:1

我正在使用

hypothesis
库,我想用类型提示来注释我的代码。 docs 提到
hypothesis.strategies.SearchStrategy
作为所有搜索策略的类型。

举这个例子:

def int_strategy() -> hypothesis.strategies.SearchStrategy[int]:
    ... # some computation here resulting in ``x`` being an ``int``

    return x

运行

mypy
将(正确地)导致以下错误:
error: Returning Any from function declared to return "SearchStrategy[Any]"  [no-any-return]

我的意思是,我实际上返回的是

int
,而不是
SearchStrategy

我该如何输入注释我的

hypothesis
策略?

python mypy python-typing python-hypothesis
1个回答
0
投票

您的函数需要返回 SearchStrategy 实例而不是实际值。

def int_strategy() -> hypothesis.strategies.SearchStrategy[int]:
    ... # some computation here resulting in ``x`` being an ``int``

    return st.integers()
© www.soinside.com 2019 - 2024. All rights reserved.