python中的del用法

python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。

python的del不同于C的free和C++的delete。

由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。

if __name__=='__main__':  
    a=1       # 对象 1 被 变量a引用,对象1的引用计数器为1  
    b=a       # 对象1 被变量b引用,对象1的引用计数器加1  
    c=a       #1对象1 被变量c引用,对象1的引用计数器加1  
    del a     #删除变量a,解除a对1的引用  
    del b     #删除变量b,解除b对1的引用  
    print(c)  #最终变量c仍然引用1 

del删除的是变量,而不是数据。

if __name__=='__main__':  
    li=[1,2,3,4,5]  #列表本身不包含数据1,2,3,4,5,而是包含变量:li[0] li[1] li[2] li[3] li[4]   
    first=li[0]     #拷贝列表,也不会有数据对象的复制,而是创建新的变量引用  
    del li[0]  
    print(li)      #输出[2, 3, 4, 5]  
    print(first)   #输出 1

转自 https://blog.csdn.net/windscloud/article/details/79732014

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 9,239评论 0 27
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,339评论 0 10
  • 爷爷的蓝莓庄园结了一个这样的蓝莓。只要有人对它许下一个愿望,只要那个人愿意付出代价,就可以实现那个人的愿望。愿望越...
    作家荷堂阅读 1,432评论 0 0
  • 2016年9月5日 因为昨晚回京太晚,今天睡起来就加快联系后沟通会员,约见朋友。 虽然好几个人不回复微信,答应办会...
    徐晓美阅读 2,713评论 0 0
  • 作为在北京居住了13年之久的人,可以说是半个北京人了。虽然是北漂。 以往的北京,五月份就开始热的要死,再加上雾霾,...
    岳山丘阅读 2,929评论 1 1

友情链接更多精彩内容