我想将函数 f(a=1,b=2) 传递给 g 并使用 g 中的“a”值
def f(a,b): pass
def g(f): #print f.a
g(f(1,2))
应该导致输出 1
我查看了检查模块,但似乎无法掌握 g 中的 f
这是我所掌握的编程知识:
def g(f):
print(list(inspect.signature(f).parameters.keys()))
g(f(1,2))
结果:TypeError: None 不是可调用对象
最佳答案
这是不可能的。当您调用 g(f(1,2))
时,f(1,2)
在 g
运行之前完成。唯一可能的方法是让 f
返回其参数。
关于python 获取传递函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59504802/