在Python中清除variables

有没有办法在python中清除variables的值?

例如,如果我正在实现一个二叉树:

Class Node: self.left = somenode1 self.right = somenode2 

如果我想从树中删除一些节点,我需要将self.left设置为空。

怎么了self.left = None ? 我误解了你的问题,还是你不熟悉None关键字?

del关键字可以。

 >>> a=1 >>> a 1 >>> del a >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined 

编辑:但在这种情况下,我投票self.left = None

var = None “清除值”,将variables的值设置为“null”,如“None”的值,但指向variables的指针保持不变。

del var完全删除了variables的定义。

如果你想稍后使用这个variables,例如为它设置一个新的值,即保留这个variables, None会更好。

其实,这不会删除variables/属性。 它所要做的就是把它的值设置为None ,所以variables仍然占用内存空间。 如果要从内存中完全清除variables的所有存在,只需键入:

 del self.left 

你可以试试这个:

  self.left = None 

self.left = None应该做的工作。