python中的del用法

1. 用法1

由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。 弄清del的用法,可以帮助深入理解python的内存方面的问题。

数据是保存在内存中,而变量只是一个链接,指向内存地址,而变量的赋值的本质是,新的变量也指向内存中的相同地址,只有所有链接都被删除了,那块内存才会被回收,那块内存区域中保存的数据就不复存在了。

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  

2. 用法2

使用del语句,删除到变量到对象的引用和变量名称本身。

注意del语句作用在变量上,而不是数据对象上。

2.1 示例1:

a = 0
b = a
del a # 删除变量a到0的引用,并且删除变量名称a
print(a)

结果:
结果
2.2. 示例2:

a = 0
b = a
del a # 删除变量a到0的引用,并且删除变量名称a
print(b)

结果:

0

2.3 示例3:

a = [0,1,2,3,4]
b = a[0]
del b # 删除变量b到0的引用,并且删除变量名称b
print(a)

结果:

[0,1,2,3,4]

3. 用法3:

del语句用于list列表操作,删除一个或连续几个元素
3.1. 示例1:

a = [0,1,2,3,4]
b = a[0]
del a[0] # 删除列表a中的第0个元素0
print(a)

结果:

[1,2,3,4]

3.2 示例2:

a = [0,1,2,3,4]
del a[0:3] # 删除列表a中的第0-3个元素,含头不含尾。
print(a)

结果:

[3,4]

4. 相关链接

  1. python中del函数的用法总结
  2. python中的del用法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值