Many Pythonistas are familiar with using decorators, but far fewer understand what’s happening under the hood and can write their own. It takes a little effort to learn their subtleties but, once ...
The Turing Python course is generally easy to understand, whether for complete beginners or learners with some background.