Я уже пару дней искал точный ответ на этот вопрос, но ничего хорошего не нашел. Я не совсем новичок в программировании, но даже не на среднем уровне.
Когда я нахожусь в оболочке 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, и мне часто приходится экспериментировать в оболочке, поэтому стандартные имена переменных, такие как x
или y
часто уже используются, а перезапуск оболочки занимает еще 15 секунд (у меня сейчас очень, очень старый ноутбук). Поэтому я хотел найти способ быстрее очистить память Python.
del
- это не совсем функция, поэтому нет (
и )
. Это ключевое слово вводит оператор del. Конечно, то, как он на самом деле удаляет объект, может включать функции, но это уже другая история ...
x
или y
не должны использоваться, если вы их не используете. Или, если вы не сделаете что-нибудь глупое from _somemodule_ import *
, вы получите все виды мусора, захламляющего место. :)