Bem*_*mmu 34 python arguments function
有没有办法获取一个函数需要的参数名称?
def foo(bar, buz):
pass
magical_way(foo) == ["bar", "buz"]
Run Code Online (Sandbox Code Playgroud)
Ale*_*lli 54
使用Python标准库中的inspect模块(最干净,最可靠的方式来执行内省).
具体来说,inspect.getargspec(f)返回的名称和默认值的f的参数-如果你只是想名字和不关心特殊形式*a,**k,
import inspect
def magical_way(f):
return inspect.getargspec(f)[0]
Run Code Online (Sandbox Code Playgroud)
完全符合您的要求.
Joh*_*ooy 12
>>> import inspect
>>> def foo(bar, buz):
... pass
...
>>> inspect.getargspec(foo)
ArgSpec(args=['bar', 'buz'], varargs=None, keywords=None, defaults=None)
>>> def magical_way(func):
... return inspect.getargspec(func).args
...
>>> magical_way(foo)
['bar', 'buz']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40622 次 |
| 最近记录: |