Как очистить все локальные переменные в Python: несколько методов с примерами кода

Чтобы очистить все локальные переменные в Python, вы можете использовать следующие методы:

Метод 1: выполнение нового пустого пространства имен

import sys
def clear_locals():
    # Get current local namespace
    frame = sys._getframe(1)
    local_vars = frame.f_locals
    # Clear local variables
    local_vars.clear()
# Example usage
x = 10
y = "Hello"
z = [1, 2, 3]
print(x, y, z)  # Output: 10 Hello [1, 2, 3]
clear_locals()
print(x, y, z)  # NameError: name 'x' is not defined

Метод 2: использование функции locals()

def clear_locals():
    # Get current local namespace
    local_vars = locals()
    # Clear local variables
    local_vars.clear()
# Example usage
x = 10
y = "Hello"
z = [1, 2, 3]
print(x, y, z)  # Output: 10 Hello [1, 2, 3]
clear_locals()
print(x, y, z)  # NameError: name 'x' is not defined

Способ 3. Перезагрузка модуля

import sys
import my_module  # Replace 'my_module' with your module name
def clear_locals():
    # Get current module name
    module_name = __name__
    # Clear local variables
    module = sys.modules[module_name]
    module.__dict__.clear()
# Example usage
my_module.x = 10
my_module.y = "Hello"
my_module.z = [1, 2, 3]
print(my_module.x, my_module.y, my_module.z)  # Output: 10 Hello [1, 2, 3]
clear_locals()
print(my_module.x, my_module.y, my_module.z)  # NameError: name 'my_module' is not defined

Эти методы позволяют очистить все локальные переменные в Python. Первые два метода очищают локальные переменные внутри функции или скрипта, а третий метод очищает локальные переменные внутри модуля.