Почему не работает eval("global a") в python?

У меня еть строка "global a", где "a" переменная. Если написать код из одной только этой строки, то всё хорошо, но вот при попытке написать eval("global a") выскакивает ошибка

   global a
   ^
SyntaxError: invalid syntax

Меня это поставило в ступор. Я много чего пытался сделать, что бы избежать ошибки, но она меня преследовала. Возможно я неправильно понимаю смысл функции eval() и она просто не способна на такое. В оригинальной программе я делал так:

for var in listik:
    eval("global " + str(var))

и всё равно ничего не работало. То есть у меня есть имя переменной (в списке), которую нужно сделать глобальной и eval, который не работает. Подскажите пожалуйста, что я делаю не так. Возможно eval() просто не может сделать такое или в моём случае есть какая-то более подходящая функция?
Если что, то я знаю о опасности использования eval(), поэтому переменные у меня проверены и ничего плохого не произойдёт.


Ответы (0 шт):