python 获取传递函数的参数

标签 python meta inspect

我想将函数 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/

相关文章:

python - 我认为这是我的 css 文件中的 python 语法?

python - 如何强制子类使用 __init_subclass__ 而不是 ABCMeta 来实现父类的抽象方法?

javascript - javascript/node.js 中是否有与 python 的 inspect.getargspec 等效的东西?

python - 过滤 Pandas 列中的列表元素是否相同

python - MetPy 中的 Pint Python 模块 - pint.UnitRegistry TypeError - 意外的关键字参数

Python循环通过csv文件中的url返回\ufeffhttps ://

reactjs - 推特卡 - "WARN: No metatags found"

php - 社交媒体 PHP 动态元标签

html - 在 HTML head 中排序图标 <link> 标签的最佳实践

python - 如何在Python类中正确显示 "stub"__objclass__?