Найти в Дзене
Машинное обучение

​Функция exec()

Функция exec() поддерживает динамическое выполнение кода Python и принимает большие блоки кода, в отличие от eval(). Передаваемый функции код должен быть либо строкой, либо объектом кода, например сгенерированный функцией compile(). Если это строка, строка анализируется как набор операторов Python, который затем выполняется (если не возникает синтаксическая ошибка). Если это объект кода, он просто выполняется. Во всех случаях ожидается, что исполняемый код будет действительным, как ввод файла. Во всех случаях, если globals и locals опущены, код выполняется в текущей области видимости. Если указываются глобальные переменные, это должен быть словарь (а не подкласс словаря), который будет использоваться как для глобальных, так и для локальных переменных. Если передаются локальные переменные, то locals может быть любым отображающим объектом. В этом примере в качестве вывода должно было быть напечатано 120, но вместо этого отображается сообщение «Нет вывода» и возникает исключение. Несмот

Функция exec() поддерживает динамическое выполнение кода Python и принимает большие блоки кода, в отличие от eval(). Передаваемый функции код должен быть либо строкой, либо объектом кода, например сгенерированный функцией compile(). Если это строка, строка анализируется как набор операторов Python, который затем выполняется (если не возникает синтаксическая ошибка). Если это объект кода, он просто выполняется. Во всех случаях ожидается, что исполняемый код будет действительным, как ввод файла.

Во всех случаях, если globals и locals опущены, код выполняется в текущей области видимости. Если указываются глобальные переменные, это должен быть словарь (а не подкласс словаря), который будет использоваться как для глобальных, так и для локальных переменных. Если передаются локальные переменные, то locals может быть любым отображающим объектом.

В этом примере в качестве вывода должно было быть напечатано 120, но вместо этого отображается сообщение «Нет вывода» и возникает исключение. Несмотря на то, что мы импортировали математический модуль, метод factorial() не сработал из-за ограничений, которые мы установили, передав глобальный параметр.

Мы также можем разрешить выполнение некоторых из многих функций. Предположим, мы хотим, чтобы все остальные математические модули были ограничены, кроме функции factorial().

Пример:

Python/ django

#machinelearning #artificialintelligence #ai #datascience #python #programming #technology #deeplearning