码迷,mamicode.com
首页 > 编程语言 > 详细

python 函数销毁

时间:2018-09-08 11:53:55      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:回收   作用   变化   对象   python 函数   pass   pen   定义   app   


# 函数销毁
# 全局函数销毁
# 重新定义同名函数
# 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__)

python 函数销毁

标签:回收   作用   变化   对象   python 函数   pass   pen   定义   app   

原文地址:https://www.cnblogs.com/lizitest/p/9608240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!