爷傲奈我何? 发表于 2020-8-5 12:37:16

《零基础入门学习python》041:构造函数、析构函数 [

代码:
class C:
    def __init__(self):
      print("我是__init__方法,我被调用了...")
    def __del__(self):
      print("我是__del__方法,我被调用了....")

c1 = C()
运行结果:我是__init__方法,我被调用了...
我是__del__方法,我被调用了....

问题:我只是实例化对象了,为啥__del__被直接调用了?

zltzlt 发表于 2020-8-5 12:39:48

本帖最后由 zltzlt 于 2020-8-5 12:41 编辑

因为程序结束后对象会自动销毁

lhgzbxhz 发表于 2020-8-5 12:41:11

程序结束,所有对象自动销毁

爷傲奈我何? 发表于 2020-8-5 13:18:16

zltzlt 发表于 2020-8-5 12:39
因为程序结束后对象会自动销毁

那为何教程中,c1 = C(),实例化时没有调用__del__

zltzlt 发表于 2020-8-5 13:32:58

爷傲奈我何? 发表于 2020-8-5 13:18
那为何教程中,c1 = C(),实例化时没有调用__del__

因为教程是在交互模式中演示的
页: [1]
查看完整版本: 《零基础入门学习python》041:构造函数、析构函数 [