mypy:缺少位置参数
mypy: Missing positional argument
我将 mypy 用作 linter,对默认参数的处理方式有点困惑。
我使用以下类型注释:
def func(dict_1: Dict[str, Any], dict_2: Optional[Dict[str, str]])
真正的函数是签名:
def func(dict_1, dict_2=None)
in mypy docs 我看到如果我的参数默认值为 None,那么我可以使用 Optional
(见本章末尾的第 3 个注释)
但我收到以下错误:
error: Missing positional argument "dict_2" in call to "func" [call-arg]
linter 是否允许我调用这样的函数 func(dict_val)
并保留默认参数未填充?
您在存根文件中包含类型提示,这意味着您应该编写以下内容以向 mypy
表明 dict_2
具有默认参数:
dict_2: Optional[Dict[str, str]] = ...
我将 mypy 用作 linter,对默认参数的处理方式有点困惑。
我使用以下类型注释:
def func(dict_1: Dict[str, Any], dict_2: Optional[Dict[str, str]])
真正的函数是签名:
def func(dict_1, dict_2=None)
in mypy docs 我看到如果我的参数默认值为 None,那么我可以使用 Optional
(见本章末尾的第 3 个注释)
但我收到以下错误:
error: Missing positional argument "dict_2" in call to "func" [call-arg]
linter 是否允许我调用这样的函数 func(dict_val)
并保留默认参数未填充?
您在存根文件中包含类型提示,这意味着您应该编写以下内容以向 mypy
表明 dict_2
具有默认参数:
dict_2: Optional[Dict[str, str]] = ...