所以我用globals()
打,並試圖此:如何刪除全局變量字典?
del globals()
日期:
SyntaxError: can't delete function call
如何刪除全局變量的詞典嗎?它是否只能通過函數調用訪問,以至於無法刪除?
編輯:我知道這是一個壞主意,我不打算使用它。我只想知道這是否可能,如果不是,我想知道爲什麼。
所以我用globals()
打,並試圖此:如何刪除全局變量字典?
del globals()
日期:
SyntaxError: can't delete function call
如何刪除全局變量的詞典嗎?它是否只能通過函數調用訪問,以至於無法刪除?
編輯:我知道這是一個壞主意,我不打算使用它。我只想知道這是否可能,如果不是,我想知道爲什麼。
刪除對globals()
的引用將不會刪除該字典。您可以像這樣清除字典
globals().clear()
但天知道那是什麼用途。
仍然有很多方法可以解決沒有全局()
如
object = 0 .__class__.__mro__[1]
謝謝!你能否就最後一行提供一些解釋? – 2014-09-22 11:02:11
不能刪除全球範圍內,但你可以明確它:
x = 1
globals().clear()
x
#>>> Traceback (most recent call last):
#>>> File "", line 21, in <module>
#>>> NameError: name 'x' is not defined
一個警告,雖然:無論你正在試圖做的是說錯話,你應該做的事情其他。
+1爲警告 – 2014-09-22 11:03:39
你的德爾蟒蛇錯誤的概念。刪除引用,而不是對象。 – simonzack 2014-09-22 10:33:13
爲什麼要「刪除全局變量字典」?你的意思是什麼? – interjay 2014-09-22 10:40:25
@interjay:知識,沒有別的:) – 2014-09-22 10:55:26