Декораторы функций в Python
Для понимания декораторов нужно помнить что, функция в Python это объект и функция может быть определена в другой функции. Так же нужно понимания Области видимости и замыкания в Python . Декоратор функций в общем виде это функция которая принимает функцию и возвращает функцию. Так же возможна реализация через класс и реализацию метода __call__ Главное свойство декораторов -то, что они выполняются сразу после определения декорируемой функции. registry = [] def register (func): print ( 'running register(%s)' % func) registry . append(func) return func @register def f1 (): print ( 'running f1()' ) def f2 (): print ( 'running f2()' ) f2 = register(f2) # эквивалентно @register def f3 (): print ( 'running f3()' ) def main (): print ( 'running main()' ) print ( 'registry -> ' , registry) f1() f2() f3() if __name__ == '__main__' : main() Функция regi...