Ви хочете видалити змінну, чи не так?
Гаразд, я думаю, що у мене найкраща альтернативна ідея @bnul відповісти:
Можна видалити окремі імена за допомогою del:
del x
або ви можете видалити їх з об’єкта globals ():
for name in dir():
if not name.startswith('_'):
del globals()[name]
Це лише приклад циклу; він захисно видаляє лише імена, які не починаються з підкреслення, роблячи (не необгрунтоване) припущення, що ви використовували лише імена без підкреслення на початку у своєму перекладачі. Ви можете використати жорстко зашифрований список імен, щоб зберегти замість них (білий список), якщо ви дійсно хотіли бути ретельним. Немає вбудованої функції, яка б здійснювала очищення за вами, крім просто виходу та перезапуску перекладача.
Модулі, які ви імпортували (імпорт ОС), залишатимуться імпортованими, оскільки на них посилаються sys.modules; наступний імпорт повторно використовувати вже імпортований об'єкт модуля. Ви просто не матимете посилання на них у вашому поточному глобальному просторі імен.
Будь ласка, перегляньте цю відповідь!