所以我正在玩globals()
并尝试过这个:
del globals()
输出:
SyntaxError: can't delete function call
如何删除全局变量字典?是否只能通过函数调用访问它才能删除它?
编辑:我知道这是一个坏主意,我不打算使用它。我只想知道是否有可能,如果没有,我想知道原因。
答案 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]