获取作为参数传递给函数的原始表达式

时间:2015-07-21 17:01:44

标签: python python-2.7

我试图让函数找出用作函数参数的原始表达式。 例如:

def fun(var):
    exp_var = <some magic>
    print "%s = %s"%(exp_var, var)

这样:

>>> fun(4.5+2*2)

将打印

4.5+2*2 = 8.5

我认为应该有一种使用python的检查模块的方法,但我无法找到。

编辑: 感谢@ propjk007,这是一个有效的代码:

import traceback, re 
def fun(var):
    stack = traceback.extract_stack()
    code = stack[-2][3]
    mat = re.compile(r'\((.*?)\).*$').search(code).groups()[0]
    print ("%s = %s")%(mat, var)

0 个答案:

没有答案