python删除对象的方法是什么

python删除对象的方法是什么

_ _del_ _()方法

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

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

classPerson(object):
#初始化方法,创建对象会被自动调用
def__init__(self,name):
print("__init__方法被调用")
self.__name=name
#析构方法:当对象删除是会被调用
def__del__(self):
print("__del__方法被调用")
defgetName(self):
returnself.__name
defsetName(self,newName):
iflen(newName)>=5:
self.__name=newName
else:
print("Error:输入的名字长度不够")
xiaoming=Person("Se7eN")
print("------马上删除xiaoming------")
delxiaoming
laowang=Person("laowang")
laowang2=laowang
laowang3=laowang
print("------马上删除laowang------")
dellaowang
print("------马上删除laowang2------")
dellaowang2
print("------马上删除laowang3------")
dellaowang3

相关推荐:《python教程》

运行结果为:

__init__方法被调用
------马上删除xiaoming------
__del__方法被调用
__init__方法被调用
------马上删除laowang------
------马上删除laowang2------
------马上删除laowang3------
__del__方法被调用

说明:

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

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

相关推荐: