概述
先说一下不运行的情况:
class Cat(object):
def __init__(self):
# self.name = newname
print("1")
# print(self.name)
def say(self):
print("hi")
def __del__(self):
# print("%s gol"%self.name)
print("123")
tom = Cat()
# del tom
tom.say()
1
hi
按理来说__del__应该最后自动执行的,可是并没有,如果手动加上也可以执行,但是失去了我使用它的本意。在一些讲解的视频中他们就可以运行,我不知道他们怎么搞得,可能是python解释器版本不同吧,我后来查了查,有的说下面加个函数,就像这样:
class Cat(object):
def __init__(self):
# self.name = newname
print("1")
# print(self.name)
def say(self):
print("hi")
def __del__(self):
# print("%s gol"%self.name)
print("123")
# tom = Cat()
# del tom
# tom.say()
# del tom
def func():
cat1=Cat()
cat1.say()
func()
1
hi
123
我们就加了一个func函数,这样就可以了,可能这才是析构函数想让我们使用的方法吧。
可恶,最近我又回来看了看当初的代码,那个123可以出来了,吐血,当初明明不行的。现在我也有了进一步的理解,这个__del__析构函数是来回收内存的,按道理来说是程序最后运行的,就是在你程序执行完的时候会加上这一步
最后
以上就是孝顺黄蜂为你收集整理的刚学python写了一个类,为何__del__ : 析构函数,释放对象时没有运行的全部内容,希望文章能够帮你解决刚学python写了一个类,为何__del__ : 析构函数,释放对象时没有运行所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复