【发布时间】:2018-10-15 01:52:37
【问题描述】:
如何使用 python 和检查将我的函数变量名称与默认值匹配?
def foo(x:int,y:int=5) -> int: return a+b
inspect.getfullargspec(foo)
FullArgSpec(args=['x', 'y'], varargs=None, varkw=None, defaults=(4,), kwonlyargs=[], kwonlydefaults=None, annotations={'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>})
我可以获取 args 并获取默认值,但是当您尝试排列它们时,它们不是 1:1。
如果您要将两个数组压缩到字典中,x 将被映射到 4 而 y 不会映射到任何东西。但结果应该是 y=4。
谢谢
【问题讨论】:
-
defaults=(4,)应该是defaults=(5,)。
标签: python python-3.x function inspect