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删除对象的方法有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。