如何获取函数参数在Python中命名文字

时间:2016-10-14 16:14:41

标签: python python-2.7 function arguments names

请仔细阅读。这不是先前解决的相关Stack问题的重复。

如何在函数环境中获取传递给函数的参数的名称​​字符串文字

的伪代码:

def myfunc(model, arg_is_list, num):
    # define magical_command that gets args NAMES
    print 'Your passed args are:', magical_command_return
    # use arg_is_list, use model...

理想的解决方案:

    $mylist={}
    $mylist=[1,2,3]
    $linear = some_library_model
    $myfunc(model='linear', arg_is_list='mylist', num=2)
    >Your passed args are: 'linear', 'mylist', '2'  

我非常感谢能得到的任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

inspect模块提供了这种内省功能:

>>> import inspect
>>>
>>> def myfunc(model, arg_is_list, num):
...     print 'Your passed args are:',
...     arg_names = inspect.getargspec(myfunc).args
...     for name in arg_names:
...         print repr(locals()[name]),
... 
>>> myfunc(model='the model', arg_is_list='arrrggg', num=42)
Your passed args are: 'the model' 'arrrggg' 42