oneself
oneself

Reputation: 40251

Print out list of function parameters in Python

Is there a way to print out a function's parameter list? For example:

def func(a, b, c):
  pass

print_func_parametes(func)

Which will produce something like:

["a", "b", "c"]

Upvotes: 4

Views: 513

Answers (3)

Noah
Noah

Reputation: 22636

You might also try the built-in help() function, which will provide you not only with a list of the named parameters, but also a description of func() if you provided a docstring:

>>> def func(a, b, c):
...     """do x to a,b,c and return the result"""
...     pass
... 
>>> help(func)

gives you

    
Help on function func in module __main__:

func(a, b, c)
    do x to a,b,c and return the result

Most modules are provided with at least some sort of built-in documentation.

Upvotes: 2

S.Lott
S.Lott

Reputation: 391818

Read the source. Seriously. Python programs and libraries are provided as source. You can read the source.

Upvotes: 6

Dzinx
Dzinx

Reputation: 57774

Use the inspect module.

>>> import inspect
>>> inspect.getargspec(func)
(['a', 'b', 'c'], None, None, None)

The first part of returned tuple is what you're looking for.

Upvotes: 17

Related Questions