Почему нельзя декорировать ранее созданную функцию?

Так работает:
@decorator
def func1:
    print('from func1')


А так не работает:
def func1:
    print('from func1')

@decorator 
func1


P.S. Мне кажется что декораторы в Python недоделанные? Или на такое поведение есть свои причины?
P.P.S. Декораторыбольше похожи на миксины(примеси). Сама по себе функция, что декорирует, не применима больше нигде. Или я не прав?
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 2
@d1skort
junior
Ты не понимаешь суть декоратора.

Раннее созданную функцию, можно обернуть, например вот так:
func1 = decorator(func1)
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
Комментировать
Ваш ответ на вопрос

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

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