python删除对象引用_python删除对象的方法是什么

5d15c19319248838.jpg

_ _del_ _()方法

创建对象后,python解释器默认调用_ _init_ _()方法;

当删除一个对象时,python解释器也会默认调用一个方法,这个方法为_ _del_ _()方法class Person(object):

#初始化方法,创建对象会被自动调用

def __init__(self, name):

print("__init__方法被调用")

self.__name = name

#析构方法:当对象删除是会被调用

def __del__(self):

print("__del__方法被调用")

def getName(self):

return self.__name

def setName(self,newName):

if len(newName)>=5:

self.__name = newName

else:

print("Error:输入的名字长度不够")

xiaoming = Person("Se7eN")

print("------马上删除xiaoming------")

del xiaoming

laowang = Person("laowang")

laowang2 = laowang

laowang3 = laowang

print("------马上删除laowang------")

del laowang

print("------马上删除laowang2------")

del laowang2

print("------马上删除laowang3------")

del laowang3

运行结果为:__init__方法被调用

------马上删除xiaoming------

__del__方法被调用

__init__方法被调用

------马上删除laowang------

------马上删除laowang2------

------马上删除laowang3------

__del__方法被调用

说明:

当有1个变量保存了对象的引用时,此对象的引用计数就会加1。

当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3,那么此时只会让这个对象的引用计数减1,即变为2,当再次调用del时,变为1,如果在调用1次的时候,此时才会把对象删除。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值