Python del语句

nin*_*nja 19 python garbage-collection del

del在Python中调用变量.这会立即释放分配的内存还是等待垃圾收集器收集?与java一样,显式调用del对释放内存的时间没有影响.

Ned*_*der 26

del语句不回收内存.它会删除一个引用,该引用会减少值的引用计数.如果计数为零,则可以回收内存.CPython会立即回收内存,不需要等待垃圾收集器运行.

实际上,垃圾收集器仅用于回收循环结构.

正如Waleed Khan在评论中所说,Python内存管理正常运行,你不必担心它.

  • 我不相信 CPython 曾经将内存释放回操作系统,即使在它被回收之后也是如此。 (2认同)
  • 我不知道怎么说:"CPython会立即回收内存,没有必要等待垃圾收集器运行." (2认同)
  • `del x` 对垃圾收集的作用与 `x = None` 没有什么不同。它只是从 x 的值中删除一个引用。 (2认同)