我在Python的documentaton中找到了这一段:
我有几个问题:
为什么finally
使破坏具有确定性?没有{
假设我有很多使用frame的函数,我想创建一个decorator来帮助我避免每次都要写del frame
,比如:
def del_frame(f):
def inner(frame):
try:
return f(frame)
finally:
del frame
return inner
@del_frame
def function_that_uses_frame(frame):
...
尽管我没有删除frame
内的function_that_uses_frame
,但它是否符合框架销毁的要求
与核心开发人员交谈。原来我误解了文档
用户需要显式
del frame
或调用frame.clear()
的唯一情况是当它导致循环引用时。与给定示例类似,因为frame
包含局部变量frame
本身,因此导致循环引用如果没有循环引用,而您只是从其他地方处理帧对象,如
没有必要做任何事
相关问题 更多 >
编程相关推荐