eval(expression, globals=None, locals=None)

Метод eval() анализирует выражение, переданное этому методу, и запускает выражение (code) Python в программе.

Параметры

Функция eval() принимает три параметра:

  • expression — Разбирает и исполняет выражение expression. Выражение должно быть либо строкой, либо объектом кода.
  • globals (необязательно) — словарь. Параметр globals должен быть словарем глобального пространства, относительно которого следует исполнить выражение. Если указан, но не содержит атрибута __builtins__ данные указанного пространства будут дополнены данными общего глобального пространства, перед разбором выражения. Таким образом, выражение будет иметь доступ ко всем встроенным модулям.
  • locals (необязательно) — объект сопоставления. Параметр locals также должен быть словарем. Это локальное пространство, в котором следует исполнить выражение. Если не указано, то используется словарь глобального пространства.

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

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

  • Функция eval() возвращает результат, вычисленный из выражения.

Примеры

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

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