a = 1# 对象 1 被 变量a引用,对象1的引用计数器为1
b = a# 对象1 被变量b引用,对象1的引用计数器加1
c = a# 对象1 被变量c引用,对象1的引用计数器加1
del a# 删除变量a,解除a对1的引用,对象1的引用计数器减1
del b# 删除变量b,解除b对1的引用,对象1的引用计数器减1
print(c)# 1'''
if __name__=='__main__':
li=['one','two','three','four','five']# 列表本身不包含数据'one','two','three','four','five',而是包含变量:li[0] li[1] li[2] li[3] li[4]
first=li[0]# 拷贝列表,也不会有数据对象的复制 , 而是创建新的变量引用
del li[0]print(li)# ['two','three','four','five']
print(first)# one
list1 = lidel liprint(list1)# ['two', 'three', 'four', 'five']#print(type(li))# NameError: name 'li' is not defined
Python析构函数 Python中有两个特殊的方法, 一个是构造函数 init , 另一个是析构函数 del , 统称为魔术方法 。
构造函数 init , 创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里 。
构造函数是创建并初始对象属性,那么对象使用完成后 , 系统是怎么处理这些呢?
这个时候,Python引入了销毁对象功能的析构函数 del ()
析构函数 del 是对象没有被引用时会触发垃圾回收机制,进行内存释放.
python 内置的 del 方法称为析构方法 。用于实现对象被销毁时所需的操作 。
常见的应用常见如:
析构方法 del ()是可选的,如果不提供,则Python 会在后台提供默认析构函数
如果要显式的调用析构函数,可以使用del关键字: del obj
析构方法的作用是销毁对象的,在python中采用垃圾回收机制 。
Python垃圾回收机制核心思想是:
详细说明:
我们主动删除对象调用del 对象;程序运行结束后,python也会自动进行删除其他的对象 。
注意:
如果我们重写子类的del () 方法(父类为非 object 的类),则必须显式调用父类的del () 方法,这样才能保证在回收子类对象时,其占用的资源(可能包含继承自父类的部分资源)能被彻底释放
我们本期学习了Python内置函数析构函数,用于没有被引用的对象进行回收处理,一般情况下,我们不用刻意去调用,python内部会对进行触发 。
以上是本期内容,欢迎大佬们评论区指正,下期见~
Python del 语句的用法是什么样?5.2. del 语句
有个方法可以从列表中按给定的索引而不是值来删除一个子项: del 语句 。它不同于有返回值的 pop() 方法 。语句 del 还可以从列表中删除切片或清空整个列表(我们以前介绍过一个方法是将空列表赋值给列表的切片) 。例如:
a = [-1, 1, 66.25, 333, 333, 1234.5]
del a[0]
a
[1, 66.25, 333, 333, 1234.5]
del a[2:4]
a
[1, 66.25, 1234.5]
del a[:]
【python的del函数 python中del用法】 a
[]
del 也可以删除整个变量:
del a
此后再引用命名 a 会引发错误(直到另一个值赋给它为止) 。我们在后面的内容中可以看到 del 的其它用法 。
python中del函数的用法首先我们要清楚python中的del函数不同于C的free和C++的delete 。
由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上 。
我们来看一个例子:
del删除的是变量,而不是数据 。
我们再来看:
推荐教程:python教程以上就是小编分享的关于python中del函数的用法的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
推荐阅读
- 怎么设置手机为虚拟机使用,手机虚拟机使用教程
- 安卓系统没找到数据迁移,安卓转到ios总是找不到ios
- 华为鸿蒙系统完整包升级,华为鸿蒙系统升级版本
- 不玩手机app安卓,不玩手机app安全吗
- python当前时间函数的简单介绍
- 蒙牛sap登陆,蒙牛登录系统
- 电视看2分钟黑屏怎么办,电视看2分钟就黑屏
- 飞行之旅游戏下载,飞行之旅的意思
- c语言fabs函数用法闼 c++fabs函数怎么用