week04_python函數的銷燬

函數的銷燬python

  全局函數:app

def foo(xyz = [], u = 'abc', z = 123):
    xyz.append(1)
    return xyz
print(foo(), id(foo), foo.__defaults__)

def foo(xyz = [], u = 'abc', z = 123):
    xyz.append(1)
    return xyz
print(foo(), id(foo), foo.__defaults__)

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

全局函數銷燬:
ide

  1.從新定義同名函數;函數

  2.del語句刪除函數對象;對象

  3.程序結束時;作用域



 局部函數:
it

def foo(xyz = [], u = 'abc', z = 123):
    xyz.append(1)
    def inner(a = 10):
        pass
    print(inner)
    def inner(a = 100):
        print(xyz)
    print(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__)

局部函數的銷燬:
class

  1.從新在上級做用域定義同名函數;程序

  2.del語句刪除函數對象;di

  3.上級做用域銷燬時;

相關文章
相關標籤/搜索