Раскрываем возможности Python: получите список имен переменных в вашем коде!

Python — универсальный язык программирования, известный своей простотой и читабельностью. При работе над более крупными проектами или отладке кода может быть полезно иметь возможность получить список имен переменных в текущей области. В этой статье мы рассмотрим несколько способов достижения этой цели на простых для понимания примерах.

Метод 1: использование функции locals()
Функция locals()возвращает словарь текущей таблицы локальных символов, который включает все переменные и их значения в текущей объем. Чтобы извлечь только имена переменных, мы можем использовать метод keys():

def get_variable_names():
    variables = locals().keys()
    return list(variables)
print(get_variable_names())

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

def get_variable_names():
    variables = globals().keys()
    return list(variables)
print(get_variable_names())

Метод 3: проверка функции dir()
Функция dir()возвращает список имен в текущем модуле или заданном объекте. Его также можно использовать для получения имен переменных:

def get_variable_names():
    variables = dir()
    return variables
print(get_variable_names())

Метод 4: использование модуля inspect
Модуль inspectпредоставляет ряд функций для самоанализа живых объектов. Мы можем использовать функцию currentframe()из модуля inspect, чтобы получить текущий кадр, а затем получить локальные переменные, используя атрибут f_locals:

import inspect
def get_variable_names():
    frame = inspect.currentframe()
    variables = frame.f_locals.keys()
    return list(variables)
print(get_variable_names())

Метод 5: совместное использование функций globals()и locals()
Чтобы получить объединенный список имен переменных как из глобальной, так и из локальной области видимости, мы можем объединить результаты функций globals()и locals():

def get_variable_names():
    variables = list(globals().keys()) + list(locals().keys())
    return variables
print(get_variable_names())

В этой статье мы рассмотрели несколько методов получения списка имен переменных в текущей области с помощью Python. Используя такие функции, как locals(), globals(), dir()и модуль inspect, вы можете получить ценную информацию о своих переменные кода. Независимо от того, новичок вы или опытный программист, доступ к такой информации может стать мощным инструментом в вашем арсенале Python.