Dino Geek, intenta ayudarte

¿Cómo usar decoradores en Python?


Los decoradores en Python son básicamente funciones que toman otra función y extienden la funcionalidad de esa función sin modificarla explícitamente. Esto se realiza mediante el envío de una función como argumento a un decorador y luego el decorador devuelve una nueva función que contiene la funcionalidad original más cualquier funcionalidad adicional. Veamos un paso a paso:

1. Definición de un decorador:
```python
def mi_decorador(funcion): # Se define un decorador que acepta una función def envoltura(): # Se define una función interna que envuelve la funcionalidad de la función original print(“¡Esto se añade a mi función original!”) funcion() # Se llama a la función original return envoltura # El decorador retorna la nueva función envoltura
```
2. Ahora tienes un decorador llamado `mi_decorador`. Para usar tu decorador en una función, simplemente necesitas preceder la definición de la función con `@nombre_del_decorador`:

```python
@mi_decorador
def saludo(): print(“¡Hola!”)
```
3. Ahora, cada vez que llames a `saludo()`, en realidad estarás llamando a `mi_decorador(saludo())`. Que imprimirá “¡Esto se añade a mi función original!” y luego “¡Hola!”.

```python
saludo()
```
4. Salida:
```
¡Esto se añade a mi función original!
¡Hola!
```
Los decoradores son muy utilizados para extender la funcionalidad de las funciones y métodos, por ejemplo, en aplicaciones web como Flask y Django se utilizan decoradores para manejar rutas y vistas. También se pueden utilizar decoradores para hacer logging, timing, locks, entre otros.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso