python 函数销毁

# 函数销毁# 全局函数销毁#   从新定义同名函数#   del语句删除函数对象#   程序结束时def foo(xyz=[], u='abc', z=123):    xyz.append(1)    return xyzprint(id(foo))def foo(xyz=[]):    xyz.append(1)    return xyzprint(id(foo))        # foo函数id变化,上一个foo函数等待垃圾回收del fooprint(id(foo))# 局部函数销毁#   从新在上级做用域定义同名函数#   del语句删除函数对象#   上级做用域销毁时def foo(xyz=[], u='abc', z=123):    xyz.append(1)    def inner(a=10):        pass    print(id(inner))    def inner(a=100):        print(xyz)    print(id(inner))    return innerbar = foo()print(id(foo), id(bar), foo.__defaults__, bar.__defaults__)del barprint(id(foo), id(bar), foo.__defaults__, bar.__defaults__)
相关文章
相关标签/搜索