我已经写了一段很好的代码,我希望改进我的详细输出。我在函数的开始和结尾都有一个if verbose: print '**** function_name ****'
的想法,甚至定义了一个函数,使其更易于调用(我使用的是kindall here编写的非常性感的详细打印)
def verbwrap(function, side):
if side=='start':
verboseprint(' ****** %s ******' %(function))
if side=='end':
verboseprint(' ^^^^^^ %s ^^^^^^' %(function))
为了像这样使用它:
^{pr2}$有没有办法让我只调用一次重新加工的verbwrap()
?再多的修修补补也没有让我找到答案!在
考虑到您只想在函数的开始和结束处打印内容,那么最好的方法就是使用decorator。在
现在将上面的修饰符与任何要调试的函数一起使用:
^{pr2}$演示:
当
verbose
是True
时:当
verbose
是False
时:通过计算
wrapper
函数中verbose
的值,可以使其更加动态,使用这种方法,您可以决定在实际调用函数时调试还是不调试。在相关问题 更多 >
编程相关推荐