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个变量保存了对象的引用时,此对象的引用计数就会加1。

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

关于python删除对象的方法有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


标题名称:python删除对象的方法有哪些
当前地址:http://pwwzsj.com/article/jsddso.html