我正在使用
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
策略?
您的函数需要返回 SearchStrategy 实例而不是实际值。
def int_strategy() -> hypothesis.strategies.SearchStrategy[int]:
... # some computation here resulting in ``x`` being an ``int``
return st.integers()