您可以使用eval
:
def debug(variable):
print variable, '=', repr(eval(variable))
或更一般地说(它实际上在调用函数的上下文中起作用,并且不会在上中断debug('variable')
,而只能在cpython上中断):
from __future__ import print_function
import sys
def debug(expression):
frame = sys._getframe(1)
print(expression, '=', repr(eval(expression, frame.f_globals, frame.f_locals)))
您可以执行以下操作:
>>> x = 1
>>> debug('x + 1')
x + 1 = 2