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.