Вопросы
Python: как получить вывод print в выражении exec
Я хочу получить вывод функции exec(...). Вот мой код:
code = """ i = [0,1,2] for j in i : print(j) """ result = exec(code)
Как я могу получить то, что выводится с помощью print? Как получить что-то вроде:
0 1 2
С уважением и спасибо.
Динамическое создание методов (генерация кода) в Python на этапе выполнения
Я пытаюсь сгенерировать код для метода во время выполнения. Важно, чтобы я мог запускать произвольный код и иметь строку документации для метода.
Я придумал решение, комбинируя exec
и setattr
. Вот пример:
class Viking(object):
def __init__(self):
code = '''
...
В чем разница между eval, exec и compile?
У меня возникла необходимость динамической оценки кода на Python, и я столкнулся с функциями eval()
и compile()
, а также с оператором exec
.
Не могли бы вы объяснить разницу между eval
и exec
, а также какое отношение имеют различные режимы функции compile()
к этим двум?