Non, non. Enfin, ça permet plein de trucs, mais ça n'ajoute rien, à part un peu de sucre syntaxique. Ce n'est jamais que l'application d'une fonction "enrobante", ce qui était déjà possible.
Avant, sans décorateurs:
class C:
def m(x):
pass
m = staticmethod(m)
Maintenant, avec décorateurs:
class C:
@staticmethod
def m(x):
pass
Évidemment, on peut (et on pouvait déjà, la syntaxe en moins) faire bien d'autres choses qu'un contrôle de type, avec les décorateurs. Voir http://www.python.org/moin/PythonDecoratorLibrary(...) pour quelques exemples.
[^] # Re: Décorateurs
Posté par Amand Tihon (site web personnel) . En réponse à la dépêche Sortie de Python 2.4. Évalué à 8.