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