Zan*_*ngo 10 python parameters arguments function
可能重复:
如何在Python中找出方法的arity
例如,我已经声明了一个函数:
def sum(a,b,c):
return a + b + c
Run Code Online (Sandbox Code Playgroud)
我想获得"sum"函数的参数长度.
像这样的somethig:some_function(sum)返回3
如何在Python中完成?
更新:
我问了这个问题,因为我想写一个函数接受另一个函数作为参数和参数来传递它.
def funct(anotherFunct, **args):
Run Code Online (Sandbox Code Playgroud)
我需要验证:
if(len(args) != anotherFuct.func_code.co_argcount):
return "error"
Run Code Online (Sandbox Code Playgroud)
Ric*_*dle 14
该inspect模块是你的朋友; 具体而言inspect.getargspec,它为您提供有关函数参数的信息:
>>> def sum(a,b,c):
... return a + b + c
...
>>> import inspect
>>> argspec = inspect.getargspec(sum)
>>> print len(argspec.args)
3
Run Code Online (Sandbox Code Playgroud)
argspec 还包含可选参数和关键字参数的详细信息,在您的情况下,您没有,但值得了解:
>>> print argspec
ArgSpec(args=['a', 'b', 'c'], varargs=None, keywords=None, defaults=None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13766 次 |
| 最近记录: |