preloader

1 janvier 1 | 2 minutes de lecture
Index du contenu

Tenga en cuenta que la función inner() está definida dentro de la función logger() (esto es totalmente legales). Luego se devuelve como resultado una referencia a la función inner() de la función registrador(). ¡La función inner() no se ejecuta en este punto! 29.4 Uso de decoradores Para ver cuál es el efecto de aplicar un decorador; es útil explorar los conceptos básicos enfoque (explícito) de su uso. Esto se puede hacer definiendo una función (llamaremos target) que imprime un mensaje simple: Podemos aplicar explícitamente el decorador del registrador a esta función pasando el referencia a la función de destino (sin invocarla), por ejemplo: Cuando ejecutamos este código, en realidad ejecutamos la función internal() que fue devuelto por el decorador. Esta función, a su vez, imprime un mensaje y luego llama la función pasó al registrador. Una vez que esta función pasada se ha ejecutado, imprime otro mensaje. El efecto de ejecutar la función t1() es este para llamar al función inner() que llama a la función objetivo, imprimiendo así: Esto ilustra lo que sucede cuando se ejecuta una función de estilo decorador. Python proporciona algo de azúcar sintáctico que permite la definición de la función y la asociación con el decorador que se declararán juntos usando la sintaxis ‘@’, Por ejemplo: objetivo definido(): print(‘En la función de destino’) t1 = registrador (objetivo) t1() objetivo de llamada En la función de destino llamado objetivo @registrador objetivo definido(): print(‘En la función de destino’) objetivo() 29.3 Definición de un decorador 339

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Lire plus