Задать вопрос
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

Как это сделать?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
В питоне нет макросов. Но вашу задачу вполне можно решить с помощью декораторов.

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

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

Похожие вопросы