一旦保证可选类型不是 None,mypy 就会处理类型错误

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

我有一些方法可以返回可选的 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)
python mypy typing
1个回答
0
投票

我知道对于 vscode 类型检查,您可以使用

isinstance
的逻辑来处理类型,类型检查警告就会消失。

© www.soinside.com 2019 - 2024. All rights reserved.