专栏首页细嗅蔷薇Python中DEL语句的运用

Python中DEL语句的运用

这是菜鸟教程关于del语句的描述

您也可以使用del语句删除一些对象的引用。
del语句的语法是:
del var1[,var2[,var3[....,varN]]]
您可以通过使用del语句删除单个或多个对象的引用。例如:
del var
del var_a, var_b

以下是这位仁兄关于del语句的描述(网址:python中del语句

有一种方式可以从列表按照给定的索引而不是值来移除一个元素: 那就是 del 语句。
它不同于会返回一个值的 pop() 方法。
del 语句也可以用来从列表中移除切片或者清空整个python列表(我们之前用过的方式是将一个空列表赋值给指定的切片)。 例如:

>>> del a[0]
>>> a
[1, 66.25, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.25, 1234.5]
>>> del a[:]
>>> a
[]
del 也可以被用来删除整个变量

此后再引用 a 时会报错(直到另一个值被赋给它)。我们会在后面了解到 del 的其他用法。

看到这里还是很疑惑,特别是“del 也可以被用来删除整个变量”这句,不知道和C++的free有什么区别。下面看了这位的,才稍微懂了一点(网址: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 

原来,del删除的是变量,而不是数据。del删除a[0]变量,但是a[0]中存储的变量才能不会消失。 另外,关于这句 first = li[0] 拷贝列表,也不会有数据对象的复制,而是创建新的变量引用,通俗来讲,无论是 first = li[0] 这种拷贝列表,还是del li[0]这种del语句,都不会对数据造成影响,复制和删除的仅仅是那份引用而已。

版权所有:可定博客 © WNAG.COM.CN

本文标题:《Python中DEL语句的运用》

本文链接:https://wnag.com.cn/1779.html

特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python else语句在循环中的运用详解

    在学习python循环语句的时候,发现else竟然可以和循环语句使用,但是它却与if中else语句的运行完全不同,有时候你真的感觉掉进这个else陷阱里了,完全...

    砸漏
  • Python随笔(一)Python3关键字 原

    (adsbygoogle = window.adsbygoogle || []).push({});

    Pulsar-V
  • Python学习笔记整理(八)Pytho

    py3study
  • Python_实用入门篇_01

      ①我们可以在命令提示符(cmd)中输入"Python"命令来启动Python解释器,通过以下命令执行该脚本:python3 文件名.py

    py3study
  • Python 变量类型

    #!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 ...

    用户8442333
  • python开发_python关键字

    The following identifiers are used as reserved words, or keywords of the languag...

    Hongten
  • Python保留字(32个全集)

    2 class   #定义类的关键字 3 finally   #异常处理使用的关键字,用它可以指定始终执行的代码,指定代码在finally里面   ...

    葆宁
  • python 之路-语法(一)

         Python 是一种面向对象、解释型计算机程序语言,语法简洁清晰,特色之一是强制用空白符

    py3study
  • python使用@property @x

    @property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的。 1》只有@pr...

    py3study

扫码关注云+社区

领取腾讯云代金券