Как получить значение переменной по имени в Python: объяснение различных методов

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

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

    variable_name = "my_variable"
    value = locals()[variable_name]
  2. Использование функции globals(): подобно locals(), функция globals()возвращает словарь, содержащий все глобальные переменные в текущей области видимости. Вы можете получить доступ к значению переменной по ее имени как ключу в словаре globals().

    variable_name = "my_variable"
    value = globals()[variable_name]
  3. Использование getattr(). Встроенная функция getattr()позволяет получить атрибут объекта по его имени. Поскольку переменные в Python также являются атрибутами соответствующих областей, вы можете использовать getattr(), чтобы получить значение переменной.

    variable_name = "my_variable"
    value = getattr(__main__, variable_name)

    Модуль

    представляет текущий модуль.

  4. Использование eval(). Функция eval()оценивает строку как выражение Python. Вы можете создать строку с именем переменной и использовать eval()для получения ее значения.

    variable_name = "my_variable"
    value = eval(variable_name)

Обратите внимание, что использование eval()может быть рискованным, если имя переменной предоставлено пользователем, поскольку это может привести к уязвимостям безопасности. Будьте осторожны при использовании этого метода.