Pythonでは関数定義の上の行に、@から始まる関数デコレータをつけることが出来ますが、
実は、というか、当然、というかデコレータは何重にもつけることも出来ます。
で、ふと、気になったのが、デコレータはどの順番で適用されるのか、ということです。
>>> def deco1(func): ... print(1) ... return func ... >>> def deco2(func): ... print(2) ... return func ... >>> @deco1 ... @deco2 ... def spam():pass ... 2 1 >>>
内側から順に適用されます。