如何删除全局变量字典?

时间:2014-09-22 10:30:12

标签: python python-2.7

所以我正在玩globals()并尝试过这个:

del globals()

输出:

SyntaxError: can't delete function call

如何删除全局变量字典?是否只能通过函数调用访问它才能删除它?

编辑:我知道这是一个坏主意,我不打算使用它。我只想知道是否有可能,如果没有,我想知道原因。

2 个答案:

答案 0 :(得分:3)

您无法删除全局范围,但可以清除它:

x = 1

globals().clear()

x
#>>> Traceback (most recent call last):
#>>>   File "", line 21, in <module>
#>>> NameError: name 'x' is not defined

但是有一个警告:无论你想做什么都是错误的事情,你应该做点什么。

答案 1 :(得分:1)

删除对globals()的引用不会删除该词典。你可以像这样清除字典

globals().clear()

但是天知道这是什么用途。

如果没有globals()

,还有很多方法可以解决

例如

object = 0 .__class__.__mro__[1]