Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Decoradores


Los decoradores te permiten hacer modificaciones simples a objetos invocables como funciones, métodos o clases. Nos ocuparemos de las funciones en este tutorial. La sintaxis

Es equivalente a:

Como puedes haber visto, un decorador es simplemente otra función que toma una función y devuelve otra. Por ejemplo, podrías hacer esto:

Esto haría que una función se repitiera dos veces.

También puedes hacer que cambie la salida

cambiar el input

y hacer comprobaciones.

Digamos que quieres multiplicar la salida por una cantidad variable. Podrías definir el decorador y usarlo de la siguiente manera:

Puedes hacer lo que quieras con la función antigua, ¡incluso ignorarla completamente! Los decoradores avanzados también pueden manipular la cadena de documentación y el número de argumentos. Para algunos decoradores llamativos, visita http://wiki.python.org/moin/PythonDecoratorLibrary.

Ejercicio

Haz una fábrica de decoradores que devuelva un decorador que decore funciones con un argumento. La fábrica debe tomar un argumento, un tipo, y luego devolver un decorador que haga que la función verifique si la entrada es del tipo correcto. Si está mal, debe imprimir("Bad Type") (En realidad, debería generar un error, pero el manejo de errores no está en este tutorial). Mirar el código del tutorial y la salida esperada podría ayudarte si estás confundido (sé que yo lo estaría). Usar isinstance(object, type_of_object) o type(object) podría ser útil.

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy