Функция locals( ) в Python

Обложка к статье "Функция locals( ) в Python"

Функция locals() в Python возвращает словарь, представляющий текущую локальную символическую таблицу. Символическая таблица содержит информацию о всех локальных переменных в текущем контексте (функции или модуля). Эта функция полезна для отладки и анализа кода.

Синтаксис

locals()

Параметры

Функция locals() не принимает параметров.

Возвращаемое значение

Функция возвращает словарь, содержащий информацию о всех локальных переменных в текущей области видимости.

Примеры использования

Пример 1: Получение локальных переменных в глобальной области

a = 10
b = 20

print(locals())  # Вывод: {'a': 10, 'b': 20, ...}

Пример 2: Получение локальных переменных внутри функции

def my_function():
    x = 5
    y = 10
    print(locals())

my_function()  # Вывод: {'x': 5, 'y': 10}

Пример 3: Использование locals() в глобальной области видимости

global_var = "Hello, World!"

def check_locals():
    local_var = "Local Variable"
    print(locals())

check_locals()
print(locals())  # Вывод: {'global_var': 'Hello, World!', ...}

Примеры практического применения

Пример 4: Отладка функций

def debug_function():
    a = 1
    b = 2
    c = a + b
    print("Debugging locals:", locals())
    return c

debug_function()
# Вывод: Debugging locals: {'a': 1, 'b': 2, 'c': 3}

Пример 5: Динамическое создание переменных

def create_variables():
    for i in range(3):
        locals()[f'var_{i}'] = i
    print(locals())

create_variables()
# Вывод: {'i': 2, 'var_0': 0, 'var_1': 1, 'var_2': 2}

Важные замечания

  1. Только для чтения: Словарь, возвращаемый locals(), предназначен только для чтения. Изменение его значений не будет отражено на реальных локальных переменных.
  2. Отличие от globals(): Функция globals() возвращает символическую таблицу глобальных переменных, тогда как locals() возвращает локальные переменные.
  3. Использование в различных контекстах: В глобальной области видимости locals() и globals()возвращают один и тот же словарь. Однако внутри функций locals() возвращает только локальные переменные.

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий