zoukankan      html  css  js  c++  java
  • python 函数销毁


    # 函数销毁
    # 全局函数销毁
    # 重新定义同名函数
    # del语句删除函数对象
    # 程序结束时
    def foo(xyz=[], u='abc', z=123):
    xyz.append(1)
    return xyz
    print(id(foo))

    def foo(xyz=[]):
    xyz.append(1)
    return xyz
    print(id(foo)) # foo函数id变化,上一个foo函数等待垃圾回收

    del foo
    print(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 inner

    bar = foo()
    print(id(foo), id(bar), foo.__defaults__, bar.__defaults__)
    del bar
    print(id(foo), id(bar), foo.__defaults__, bar.__defaults__)

  • 相关阅读:
    7、猜年龄
    6、continue语句
    5、break语句
    4、while循环练习
    poj 2378
    poj 2342
    poj 2287
    poj 2228
    poj 1191
    srm 578 dv2 1000pt
  • 原文地址:https://www.cnblogs.com/lizitest/p/9608240.html
Copyright © 2011-2022 走看看