我有一些方法可以返回可选的 float/None。我有条件地使用它的输出,如果
None
我做一件事,如果为真(a float
)我会通过后面的方法。
目前 mypy 会引发错误,表明后面的方法不支持
None
。如何更改类型或创建一个保证为 float
而不是可选的新变量?
示例:
def method(args) -> Optional[float]:
if some_case:
return numerical_value: float
return None
def next_step(val: float) -> Any:
return do_more_stuff
result = method(stuff)
if result is None:
exit_early()
# otherwise we are guaranteed dealing with a float
next_step(result)
我知道对于 vscode 类型检查,您可以使用
isinstance
的逻辑来处理类型,类型检查警告就会消失。