9

有没有办法从命令行发现 python 中函数的潜在关键字参数?无需查看源代码或文档。有时源是c lib,即使它不可见

4

2 回答 2

4

您可以使用该inspect模块。在 3.3+ 中,这很容易通过使用inspect.signature

import inspect

def foo(bar=None, baz=None):
    pass

>>> print(inspect.signature(foo))
(bar=None, baz=None)

紧接在链接文档下方的是一个仅提取关键字参数名称的示例,这可能也值得一读!

当然,如果您希望深入检查源代码以尝试找到从**kwargs参数中提取的任何内容,那么您可能不走运。就像是:

def foo(**kwargs):
    if kwargs.get("isawesome"):
        print("Dang you're awesome")

>>> some_magic(foo)
isawesome

可能很难找到。

于 2016-04-22T20:12:40.987 回答
0

对于函数“myfunc”,请使用:

myfunc.__code__.co_varnames
于 2021-06-05T23:01:12.953 回答