exec ×3
Создан 13.03.2025
0
голоса
5
ответов
28
просмотров
Python: как получить вывод print в выражении exec

Я хочу получить вывод функции exec(...). Вот мой код:

code = """ i = [0,1,2] for j in i : print(j) """ result = exec(code)

Как я могу получить то, что выводится с помощью print? Как получить что-то вроде:

0 1 2

С уважением и спасибо.

0
голоса
5
ответов
27
просмотров
Динамическое создание методов (генерация кода) в Python на этапе выполнения

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

Я придумал решение, комбинируя exec и setattr. Вот пример:

class Viking(object):
    def __init__(self):
        code = '''
           ...
5
голоса
2
ответов
39
просмотров
В чем разница между eval, exec и compile?

У меня возникла необходимость динамической оценки кода на Python, и я столкнулся с функциями eval() и compile(), а также с оператором exec.

Не могли бы вы объяснить разницу между eval и exec, а также какое отношение имеют различные режимы функции compile() к этим двум?