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
.