Python.06

March 29, 2015, 3:08 a.m.

Материалы шестой лекции.

Комментарии

  1. Решить проблему с тем, что декоратор теряет docstring и имя функции, к которой он применяется, как ни странно, можно при помощи декоратора

    import functools
    
    def caching(function):
        computed_results = {}
    
        @functools.wraps(function)
        def new_function(*args):
            if args not in computed_results:
                computed_results[args] = function(*args)
            return computed_results[args]
    
        return new_function
    
comments powered by Disqus