Я уже пару дней искал точный ответ на этот вопрос, но ничего хорошего не нашел. Я не совсем новичок в программировании, но даже не на среднем уровне.
Когда я нахожусь в оболочке 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 *, вы получите все виды мусора, захламляющего место. :)