在C/C++中,我经常发现在调试时定义宏很有用,比如说
换句话说,我想要一个函数。
ECHO(x)
,它会打印变量名和它的值(例如ECHO(variable)
可能会打印variable 7
)。你可以使用'字符串化'操作符#
在宏中获取变量名,如此处所述here。那么在Python中有没有实现这个功能的方法呢?换句话说,我想要一个函数。
def echo(x):
#magic goes here
如果像这样调用foo=7; echo(foo)
(或者foo=7; echo('foo')
),会打印出foo 7
。我知道如果我将变量和变量名都传递给函数,做到这一点是微不足道的,但是在调试时我经常使用这样的函数,而重复操作总是让我感到烦恼。
echo
,然后\s*
-0或多个空格,\(
-括号,(.+?)\)$
-在行末($
)之前的所有符号的非贪婪搜索\)
(括号)。更多信息请访问http://www.regular-expressions.info/repeat.html。您还可以[调试正则表达式](https://dev59.com/oHVD5IYBdhLWcg3wE3No#143636)。在交互式Python会话中尝试:`re.compile(r'echo\s*\((.+?)\)$', re.DEBUG)`。 - reclosedev