Декораторы с параметрами

Как я сказал ранее, декоратор – по сути функция с аргументом – другой функцией, но как добавить туда еще аргументы, подобно коду ниже? Справа от знака собачки (@) в синтаксисе декоратора должен стоять какой-то вызываемый объект (т.е. тот, который можно вызвать как функцию), короче нечто foo, которое будет вызвано, как foo(f) в процессе декорации, где…

Декораторы в Python

Вероятно, почти каждый разработчик на Python сталкивался с декораторами, видя конструкцию с со знаком @: Разберемся, что такое декоратор, и как он работает. Этот вопрос часто спрашивают на собеседованиях. Декоратор – это функция, которая принимает как аргумент другую функцию*. Цель декоратора – расширить функциональность переданной ему функции без непосредственного изменения кода самой функции. Вот и…

LRU-кэш в одну строчку

Кэш нужен, чтобы запоминать результаты каких-то тяжелых операций: вычислений, доступа к диску или запросов в сеть. В Python есть отличный декоратор, чтобы элегантно снабдить вашу функцию кэшированием: @functools.lru_cache(maxsize=128, typed=False)

Пары из списка

В Python есть элегантный прием, который позволяет получить пары соседних элементов из списка. Нужно использовать функцию zip, передав в нее сам список и его же со сдвигом 1: Вывод: Специально для канала @pyway.

Вышла моя первая статья на Хабрахабре

Грац мну. Вышла моя первая статья на ресурсе Хабрахабр. Она называется: Изменение кода программы во время ее выполнения на примере Common Lisp Посвящена она программированию на Common Lisp, в ней рассказывется, как написать полностью программируемый в рантайме командный процессор. UPD: оппа, он даже побывал на главной.