如何在 python 中显式列出允许的关键字参数以获得 IDE 支持?

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

我正在使用

ArgumentParser
在 python 中,让用户可以选择将自己的函数添加到我的脚本中。为此,我给他们一个函数来生成在 argparse 中使用的数据
add_argument()
功能。我注意到 add_argument 的签名是
add_argument(self, *args, **kwargs)
但是当查看 vscode 中的文档时,我可以看到它可以获得的所有不同参数(action、nargs、const、default 等)。

example screenshot

Python是如何做到的?据我所知,当您给用户

**kwargs
时,它会显示为
**kwargs
就是这样。

我浏览了这个网站和整个互联网,但我找不到它使用的语法。

python argparse
1个回答
0
投票

语言服务器从typeshed中的存根文件中提取,其中当前定义是:

def add_argument(
    self,
    *name_or_flags: str,
    action: _ActionStr | type[Action] = ...,
    nargs: int | _NArgsStr | _SUPPRESS_T | None = None,
    const: Any = ...,
    default: Any = ...,
    type: _ActionType = ...,
    choices: Iterable[_T] | None = ...,
    required: bool = ...,
    help: str | None = ...,
    metavar: str | tuple[str, ...] | None = ...,
    dest: str | None = ...,
    version: str = ...,
    **kwargs: Any,
) -> Action: ...

旁注:看起来您正在使用 Pylance,它正在向类型添加一些详细信息。例如,对于

_T@add_argument
,它看起来像是在说
_T
的范围是
add_argument
。我正在使用 Jedi,它显示不同的细节。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.