编辑:这个问题已经在apphacker和ConcernedOfTunbridgeWells的帮助下解决了。我已经更新了代码以反映我将要使用的解决方案。在
我目前正在编写一个群体智能模拟器,希望给用户一个简单的方法来调试他们的算法。在其他输出中,我觉得在算法的每个步骤开始时向用户提供执行上下文的打印输出是有益的。在
下面的代码实现了我所需要的。在
import inspect
def print_current_execution_context():
frame=inspect.currentframe().f_back #get caller frame
print frame.f_locals #print locals of caller
class TheClass(object):
def __init__(self,val):
self.val=val
def thefunction(self,a,b):
c=a+b
print_current_execution_context()
C=TheClass(2)
C.thefunction(1,2)
这将产生以下预期输出:
^{pr2}$感谢apphacker和ConcernedOfTunbridgeWells为我指出了这个答案
尝试:
您可以使用
__locals__
来获取本地执行上下文。请参阅this stackoverflow posting以了解一些可能也相关的讨论。在相关问题 更多 >
编程相关推荐