Better explanations?
@foo
def bar():
...
Is syntax sugar for def bar():
...
bar = foo(bar)
That is all there is to it. It's just syntax sugar to make this particular design pattern more convenient to use.These explanations add more confusion then they dissolve and give off the impression that this is some kind of expert python foo which is clearly isn't.