Python встроенная инструкция exec
Описание
exec выполняет инструкции Python, хранящиеся в строке или файле. По сравнению с eval, exec может выполнять более сложный код Python.
Следует отметить, что в Python 2 exec — не функция, а встроенная инструкция. Однако в Python 2 есть функция execfile(). Можно понять, что Python 3 объединил функциональность инструкции exec и функции execfile() в новую функцию exec().
Синтаксис
Ниже приведён синтаксис exec:
exec obj
Parameters
- obj -- выражение, которое нужно выполнить.
Возвращаемое значение
Возвращаемое значение exec всегда None.
Примеры
Ниже приведены примеры использования exec:
Пример 1
>>>exec 'print "Hello World"'
Hello World
# Строка однострочной инструкции
>>> exec "print 'example.com'"
example.com
# Строка многострочного оператора
>>> exec """for i in range(5):
... print "iter time: %d" % i
... """
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4
Пример 2
x = 10
expr = """
z = 30
sum = x + y + z
print(sum)
"""
def func():
y = 20
exec(expr)
exec(expr, {'x': 1, 'y': 2})
exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
func()
Результат вывода:
60 33 34Другие расширения
Встроенные функции Python