文章预览
这些经验,也许 能让你少走一些调试的弯路。 陷阱 1:Python 中的内存管理问题 Python是一种编程语言,它能够自动管理内存,这让编程变得更加方便。大多数情况下,Python的内存管理工作都很出色。但有时候,Python也需要更好地了解程序的实际情况,以便更好地管理内存。所以了解引用周期(程序对象的生命周期)和垃圾回收机制(自动清理不再使用的内存)非常重要,否则你可能会发现程序运行变慢。 代码示例:循环引用 class Node : def __init__ (self, data) : self.data = data self.next = None # 创建循环引用 head = Node( "A" ) head.next = Node( "B" ) head.next.next = head 在这个代码段中,我们有一个简单的 Node 类。问题出在 head.next.next = head 这一行。我们创建了一个无法丢弃对象的循环。 使用 gc 进行检测工作 import gc gc.c
………………………………