删除Python标准库中的变量
我一直在阅读标准线程库(
Python 2.6)中的一些代码,并且有一段代码让我感到奇怪.它可以缩短到以下结构(与threading.py中的__bootstrap_inner方法相比):
def foo(): exc_type,exc_value,exc_tb = sys.exc_info() try: # some code except: # some code finally: del exc_type,exc_tb 这些变量不会超出foo范围.有没有理由在最后删除这些引用? 解决方法
是的,至少对于exc_tb; traceback对象包含对当前帧的引用,这使得它成为循环引用.
通过删除本地引用,您可以打破该圈,因此您不必希望并相信垃圾收集器能够. 从
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |