Search code examples
pythonparameters

Getting list of parameter names inside python function


Is there an easy way to be inside a python function and get a list of the parameter names?

For example:

def func(a,b,c):
    print magic_that_does_what_I_want()

>>> func()
['a','b','c']

Thanks


Solution

  • Well we don't actually need inspect here.

    >>> func = lambda x, y: (x, y)
    >>> 
    >>> func.__code__.co_argcount
    2
    >>> func.__code__.co_varnames
    ('x', 'y')
    >>>
    >>> def func2(x,y=3):
    ...  print(func2.__code__.co_varnames)
    ...  pass # Other things
    ... 
    >>> func2(3,3)
    ('x', 'y')
    >>> 
    >>> func2.__defaults__
    (3,)