知行编程网知行编程网  2022-10-07 04:00 知行编程网 隐藏边栏  270 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python删除对象的方法是什么的相关知识,包括python类方法和实例方法详解,以及python中删除文件这些编程知识,希望对大家有参考作用。


如何在python中删除一个对象


_ _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。

使用del删除变量指向的对象时,如果对象的引用计数不是1,比如3,那么只有对象的引用计数会减1,即变为2,而当再次调用 del 时,它将变为 1 ,如果调用一次,此时对象将被删除。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享