ficapy
7/22/2015 - 10:51 AM

返回函数参数名和传入参数值的dict表

返回函数参数名和传入参数值的dict表

def foo(f, b):
    c = 3
    # 以下写法错误,locals是会变化的即使使用list(locals())依然无法得到正确的结果
    # [locals.get(i) for i in locals()]
    # 以下2、3通用
    frame = inspect.currentframe()
    args, _, _, value = inspect.getargvalues(frame)
    print({i:value.get(i) for i in args})

foo(1, 2)