在python函数中获取参数名称列表

问题:

 可能重复:
Getting method parameter names in python

有没有一个简单的方法来进入一个python函数,并获得一个参数名称的列表?
例如:

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

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

谢谢

回答:

如果你也想要这个值,你可以使用inspect模块

import inspect

def func(a, b, c):
    frame = inspect.currentframe()
    args, _, _, values = inspect.getargvalues(frame)
    print 'function name "%s"' % inspect.getframeinfo(frame)[2]
    for i in args:
        print "    %s = %s" % (i, values[i])
    return [(i, values[i]) for i in args]

>>> func(1, 2, 3)
function name "func"
    a = 1
    b = 2
    c = 3
[('a', 1), ('b', 2), ('c', 3)]

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Getting list of parameter names inside python function

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

72 + = 74