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