正确使用args和kwargs的输入类型?

时间:2017-01-18 16:52:25

标签: python python-3.x types pycharm

def callable_runner(a_callable: Callable[..., Any], args: Sequence[Any]=None, kwargs: Mapping[Any, Any]=None) -> None:
    if args is None:
        args = []
    if kwargs is None:
        kwargs = {}
    a_callable(*args, **kwargs)

我觉得这可能是一个正确的用法,但我不确定,因为我还没有完全掌握类型。

让我怀疑自己的是,Pycharm在*args上向Expected an iterable, got Sequence | None | list发出警告,并在**kwargs上发出警告Expected a dictionary, got Mapping | None | dict

我倾向于向PyCharm提出警告错误,但我不是很自信。

0 个答案:

没有答案