Разбирает и исполняет указанное выражение.
eval(expression, globals=None, locals=None)
-> Результат выполненного выражения
expression -- Выражение, которое требуется исполнить, в виде строки. Либо объект кода.

globals=None -- Ожидается dict. Словарь глобального пространства, относительно которого следует исполнить выражение. Если указан, но не содержит атрибута __builtins__ данные указанного пространства будут дополнены данными общего глобального пространства, перед разбором выражения. Таким образом, выражение будет иметь доступ ко всем встроенным модулям.

locals=None -- Ожидается объект-отображение (например, dict). Локальное пространство, в котором следует исполнить выражение. Если не указано, то используется словарь глобального пространства.

Если оба аргумента опущены, то выражение будет выполнено в среде, где был осуществлён вызов функции.
В случае ошибок возбуждает SyntaxError.

    x = 1
eval('x+1') # 2

Данная функция также может быть использована для выполнения произвольных объектов кода, например тех, что возвращает compile().

Если объект кода собран в режиме exec будет возвращено None.

На заметку
Динамическое исполнение инструкций поддерживается инструкцией (а начиная с +py3.0 функцией) exec().

Функциям eval() и exec() можно передавать результаты функций globals() и locals().

Внимание
Для безопасного исполнения выражений, содержащих исключительно литералы используйте ast.literal_eval().

Нет обсуждений для отображения.
Если у вас есть, что сказать, можете представиться и исправить ситуацию.