3

__init__()在 Python 类中经常使用函数来在第一次调用类时进行设置。

脚本关闭时是否调用了等效函数?

4

1 回答 1

6

__del__当对象完成时,有一个方法会被调用。但是,python 不保证__del__在解释器退出时会在对象上实际调用它。

有几种选择:

  • atexit.register -- 在这里您可以注册一个函数以在脚本终止时运行
  • 创建一个上下文管理器并使用该with语句。然后__exit__,当您离开上下文时,将无条件地调用您的上下文管理器的方法。

如果您做了一些非常讨厌的事情来退出程序(例如,以某种方式导致分段错误或通过退出os._exit) ,这两个选项都会失败

于 2013-03-20T13:07:56.480 回答