可用的** kwargs列表

时间:2017-06-08 13:40:13

标签: python

在python帮助文档中,我经常看到一个带有函数名和命名参数的Signature行,然后你会看到** kwarg(关键字参数)。

list?

打印到帮助文档字符串:

Init signature: list(self, /, *args, **kwargs)
Docstring:     
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
Type:           type

有没有办法列出可以传递的可用关键字和/或参数?

2 个答案:

答案 0 :(得分:2)

Nope - *args**kwargs是全部参数,前者将捕获list中每个额外的未命名参数,后者将捕获dict中的每个命名参数{1}}。

利用这些特殊捕获参数中的一个或两个来编写函数/方法的人决定如何处理它们,除非你查看他们的代码,如果他们没有提供他们的函数/方法的文档,你就不知道是什么他们的意图或期望得到的。

答案 1 :(得分:1)

inspect模块,可以帮助您:

>>> inspect.getargspec(aMethod)
(['arg1', 'arg2'], None, None, None)

对于内置方法,您可以使用__doc__参数:

>>> list.__doc__
"list() -> new empty list\nlist(iterable) -> new list initialized from iterable's items"