在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
有没有办法列出可以传递的可用关键字和/或参数?
答案 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"