Knowing the signature of a function

Kent Johnson kent37 at tds.net
Wed Jun 8 08:35:39 EDT 2005


Xavier Décoret wrote:
> Hello,
> 
> I have the following code:
> 
> def foo(x,y):
>     pass
> 
> How can I query the function object foo to know the number of parameters 
> it expects.  I can find it is a function using callable(f), I can find 
> some information (listed by dir(foo)) such as the name of the 
> function,etc.. but nowhere I can find the number of arguments.
> 
> I would like to know wether the function expects one or zero arguments.

foo.func_code.co_argcount gives the count of named args. len(foo.func_code.co_varnames) gives the total number of arguments including *args and **kwds args. inspect.getargspec() might also be helpful.

Kent



More information about the Python-list mailing list