Функция exec() в Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Основы «Python»
Комментариев: 0

Функция exec() в Python позволяет выполнять произвольный код из строки или скомпилированного ввода кода.

Функция может быть удобной, когда вам нужно запустить динамически генерируемый код Python, но это может быть довольно опасно, если вы используете ее небрежно. В этом уроке вы узнаете не только о том, как использовать, но и, что не менее важно, когда можно использовать эту функцию в своем коде.

Синтаксис:

exec(object, globals, locals)

Аргументы:

  • object - строка или объект. Если это строка, то в Python она обрабатывается как блок операторов, а после - выполняется.
  • global — используется для указания глобальных функций, доступных для выполнения функцией exec(). Это должен быть словарь. Если __builtins__ не определен, все встроенные модули будут доступны функции exec
  • locals — используется для указания доступных локальных функций и переменных. Это может быть любой отображаемый объект. Однако словарь предпочтительнее из-за его сходства с глобальными переменными.

Функция exec() возвращает None. Поэтому его нельзя использовать с операторами return и yield. Вы можете ознакомиться с функцией eval(), она возвращает значение.

Рассмотрим примеры:

exec("name = input('Your name: '); print(f'Hello, {name}!')")

Результат:

<<< Your name: Vladislav
>>> Hello, Vladislav!

Пример:

numbers = [2, 3, 7, 4, 8]

exec("result = sum(number**2 for number in numbers if number % 2 == 0)")

Результат:

>>> 84
Теги записи: Python, Основы Python, exec(),
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)