qué patron parametros ejemplo decoradores decorador con python decorator

parametros - patron decorator python



Python: ¿hay alguna lista de decoradores en alguna parte? (4)

No lo creo. Los decoradores no se diferencian de las funciones comunes, solo los llama de una manera más elegante.

Para encontrarlos intente buscar en la lista de funciones incorporadas , ya que como puede ver en el glosario de Python, la sintaxis del decorador es solo un azúcar sintáctico, ya que las dos definiciones siguientes crean funciones iguales (copió este ejemplo del glosario):

def f(...): ... f = staticmethod(f) @staticmethod def f(...):

De modo que cualquier función incorporada que devuelva otra función se puede usar como decorador. La pregunta es: ¿tiene sentido usarlo de esa manera? :-)

El módulo functools contiene algunas funciones que se pueden usar como decoradores, pero no están integradas como usted solicitó.

Conozco @staticmethod, @classmethod y @property, pero solo a través de documentación dispersa. ¿Hay una lista completa de decoradores de funciones integrados en Python?


Los decoradores ni siquiera están obligados a devolver una función. He usado @atexit.register antes.


No existe una lista de todos los decoradores. No hay una lista de todas las funciones. No hay una lista de todas las clases.

Los decoradores son una herramienta útil para definir un aspecto común a través de funciones, métodos o clases. Están los decoradores integrados. Además, hay muchos decoradores geniales e inútiles. De la misma manera hay muchas clases geniales e inútiles.


No están incorporados, pero esta biblioteca de decoradores de ejemplo es muy buena.

Como dice Abgan, la lista de funciones incorporadas es probablemente el mejor lugar para buscar, aunque como los decoradores también se pueden implementar como clases, no se garantiza que sea integral.