TalismanChet
@TalismanChet
Лицо зла

Как сделать макросы в функции Python?

Дарова хабровчане! Я писал библиотеку, где мне понадобилось во всех обрабатываемых функциях заменять элементы кода, например:
def loop(t, spc, ID, num):
    """3n+1_mainloop"""

    steps = 0

    while num not in (4, 2, 1):
        num = hdl.getrun(num)
        steps += 1
        pass
    return steps

превратилось в
def loop(t, spc, ID, num):
    """3n+1_mainloop"""

    steps = 0

    while num not in (4, 2, 1):
        num = hdl.getrun(num)
        steps += 1
        pass
    t.ret = True
    spc.rets[ID] = steps
    return

Как это сделать?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
В питоне нет макросов. Но вашу задачу вполне можно решить с помощью декораторов.

Но если изменение разовое... это не имеет смысла. Проще переписать один раз и начисто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы