Capítulo 4. Decoradores
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Python dispone de una potente herramienta llamadadecorador. Los decoradores te permiten añadir ricas características a grupos de funciones y métodos, sin modificarlos en absoluto; desenmarañar preocupaciones distintas y frustrantemente entrelazadas en tu código, de formas que de otro modo no serían posibles; y construir marcos de software potentes y extensibles. Muchas de las bibliotecas de Python más populares e importantes del mundo utilizan decoradores. Este capítulo te enseña a hacer lo mismo.
Un decorador es algo que se aplica a una función o método. Probablemente hayas visto decoradores antes. Hay un decorador llamadoproperty que se utiliza a menudo en las clases:
classPerson:def__init__(self,first_name,last_name):self.first_name=first_nameself.last_name=last_name@propertydeffull_name(self):returnself.first_name+" "+self.last_name
>>>person=Person("John","Smith")>>>(person.full_name)John Smith
Ten en cuenta que está imprimiendo person.full_name, no person.full_name().
Otro ejemplo: en el framework web Flask, así es como se define una página de inicio sencilla:
@app.route("/")defhello():return"<html><body>Hello World!</body></html>"
El app.route("/") es un decorador, aplicado aquí a la función llamada hello(). Así, una solicitud HTTP GET a la URL raíz ("/") será gestionada por la función hello() ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access