【发布时间】:2010-09-18 03:09:09
【问题描述】:
给定 Python 函数:
def a_method(arg1, arg2):
pass
如何提取参数的数量和名称。即,鉴于我引用了func,我希望func.[something] 返回("arg1", "arg2")。
这个使用场景是我有一个装饰器,我希望使用方法参数的顺序与它们作为键出现在实际函数中的顺序相同。即,当我调用a_method("a", "b") 时,打印"a,b" 的装饰器看起来如何?
【问题讨论】:
-
对于几乎相同问题的不同答案列表,请参阅this other stackoverflow post
-
您的标题具有误导性:当人们用“函数”一词说“方法”时,通常会想到类方法。对于功能,您选择的答案(来自 Jouni K. Seppanen)很好。但是对于(类)方法,它不起作用,应该使用检查解决方案(来自 Brian)。
标签: python decorator introspection python-datamodel