Skip to content Skip to sidebar Skip to footer

Python List Function Argument Names

Is there a way to get the parameter names a function takes? def foo(bar, buz): pass magical_way(foo) == ['bar', 'buz']

Solution 1:

Use the inspect module from Python's standard library (the cleanest, most solid way to perform introspection).

Specifically, inspect.getargspec(f) returns the names and default values of f's arguments -- if you only want the names and don't care about special forms *a, **k,

import inspect

defmagical_way(f):
    return inspect.getargspec(f)[0]

completely meets your expressed requirements.

Solution 2:

>>>import inspect>>>deffoo(bar, buz):...pass...>>>inspect.getargspec(foo)
ArgSpec(args=['bar', 'buz'], varargs=None, keywords=None, defaults=None)
>>>defmagical_way(func):...return inspect.getargspec(func).args...>>>magical_way(foo)
['bar', 'buz']

Post a Comment for "Python List Function Argument Names"