我一直在寻找这个问题的准确答案已有几天了,但是还没有任何好的结果。我不是编程的完整初学者,但即使在中级水平上也还不是。
当我进入Python的外壳程序时,键入:dir()
并且可以看到当前作用域(主块)中所有对象的所有名称,其中有6个:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
然后,例如,当我声明一个变量时,x = 10
它会自动添加到内置模块下的对象列表中dir()
,当我dir()
再次键入时,它现在显示:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
函数,类等也是如此。
我如何删除所有这些新对象而不删除开始时可用的标准6?
我在这里已经阅读了有关“内存清理”,“控制台清理”的信息,该命令将删除命令提示符窗口中的所有文本:
>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
但是,所有这些都与我要实现的目标无关,它不会清除所有使用过的对象。
del
功能。我开始学习Python,并且经常不得不在shell中进行实验,因此标准变量名(例如x
或)y
已经经常使用,并且重新启动shell需要花15秒钟的时间(我现在有一台非常老的笔记本电脑)。因此,我想找到一种更快地清理Python内存的方法。
del
并非完全是一个函数,因此没有(
和)
。这是一个引入del语句的关键字。当然,它实际上如何删除对象可能涉及函数,但这是另一回事了……
x
或y
不使用的名称。否则,除非您做一些愚蠢的事情,否则您会得到各种各样的垃圾。:)from _somemodule_ import *