简单的python类的垃圾收集

问题描述 投票:0回答:1

我正在编写这样的python类:

class MyImageProcessor:
   def __init__ (self, image, metadata):
     self.image=image
     self.metadata=metadata

imagemetadata都是由同事。现在,我需要确保不会浪费内存。我正在考虑定义这样的quit()方法,

  def quit():
    self.image=None
    self.metadata=None
    import gc
    gc.collect()

并建议用户系统地拨打quit()。我想知道这是否正确。尤其是,上述quit()中的指令是否可以确保正确收集未使用的内存?

或者,我可以将quit()重命名为内置__exit__(),并建议用户使用“ with”语法。但是我的问题是有关quit()中的指令是否确实完成了这种情况下所需的垃圾回收工作的更多信息。

谢谢您的帮助。

python python-3.x memory-management garbage-collection
1个回答
0
投票
reference_count,您创建的变量(名称)只是指向它们的指针。有可变的和不变的变量(例如,如果您更改整数的值,则名称将指向另一个整数对象,而更改列表元素将不会导致更改列表名称)。
© www.soinside.com 2019 - 2024. All rights reserved.