Déjame hacerte una pregunta, ¿qué sucede si esta función de Halo realmente tomó un parámetro, digamos
una cadena?
O un codicioso.
Y aquí se iba a imprimir un saludo.
Eliminemos el adiós por ahora.
¿Funcionaría esto si corro?
¿Hola?
Pausa el video y piénsalo.
Vamos a averiguar.
No, eso es un error, si puedes intentar pausar el video aquí y ver si él puede resolverlo,
¿cómo podemos hacer que esto permita argumentos?
Veo eso en la línea cinco aquí mismo.
Dice que a la línea cinco hola le falta un saludo de argumento posicional requerido porque
cuando realmente llamamos hola, esperamos tener un parámetro.
Pero aquí no le damos ningún argumento.
¿Cómo podemos solucionar esto?
Bueno, la única forma es simplemente decir.
Codicioso, cierto, o podemos decir lo que queramos, podemos decir X y luego esto.
La función de rapero recibe el parámetro.
De modo que si hago clic en ejecutar.
Mmm, la línea 13 ahora me está dando un error porque, bueno, ahora tenemos que saludarlo.
Así que digamos hola si hago clic en ejecutar.
Está bien, esto funciona.
Y espero que esto tenga sentido, ¿verdad?
Te llamamos hola con hola.
Entonces esta función hola pasa.
Nosotros entonces.
Recibe como argumento, el ex, cierto, recuerda, debajo del capó, mi decorador está diciendo que A es igual a
mi decorador.
Y hola verdad?
Así que todo lo que estamos haciendo es ejecutar mi decorador.
Hola.
Que ahora se convierte en su función de rapto, y cuando hacemos la función de rapto A. , le damos un argumento de alto para
que la función rapt acepte este parámetro y luego ejecute la función.
Hola.
Pero aquí está la pregunta, ¿y si Gridding también tuviera un emoji que aceptara?
Así que imprimimos, saludamos y luego el emoji.
Hmm, ¿qué hacemos?
Bueno, de nuevo, tendríamos que crear otro parámetro y luego otro parámetro y luego llamarlo con, digamos, una
carita sonriente, si hago clic, ejecutar.
Bueno, esto debería ser una cadena si hago clic en ejecutar.
Esto funciona, pero es frenético cada vez que necesito cambiar los parámetros.
Bueno, tengo que modificar esto.
¿Y si tuviéramos argumentos de palabras clave como.
Alto predeterminado.
De hecho, hay un patrón aquí que podemos usar que hace que las cosas sean realmente muy simples para nosotros.
Y todo lo que hacemos es esto: hacemos los arcos de estrella, que hemos visto, que toma todos los argumentos de posición
y luego los arcos de palabras clave de estrella, que toma todos los argumentos de palabras clave.
Y llamamos a la función por.
El decir comienza a descomprimir todos los argumentos posicionales y los arcos de palabras clave con asterisco asterisco para descomprimir todos los argumentos de palabras
clave.
Ahora, si esto parece confuso, no se preocupe, este es solo un patrón que puede copiar
y pegar y recordar, pero ahora mire esto.
Puedo hacer emoji igual, digamos.
Saffy.
Como argumento de palabra clave, y ahora si simplemente paso.
Hola, así y presione, ejecute, y eliminemos esto también, ya que no lo necesitamos, llamaremos hola correctamente porque
tenemos el decorador y luego hagamos clic en ejecutar.
Mira eso, me drogo con la cara triste.
Ahora, la razón por la que esto se llama decorador, es porque es un patrón famoso en
programación, se llama patrón decorador, y este es el patrón decorador.
Le da a nuestro decorador flexibilidad para que podamos pasar tantos argumentos como queramos a nuestra función rapt usando
arcos de estrella y arcos de teclado y luego descomprimiéndolos así dentro de una función.
Y esta sintaxis, digamos, si ni siquiera tuviéramos las declaraciones de impresión, esta sintaxis es la razón por la que los decoradores
son tan poderosos.
Con solo usar estas líneas de código, podemos agregar funcionalidad usando el patrón decorador para decorar nuestras
funciones.
Y los patrones de decorador se utilizan en toda la programación, por lo que es un concepto muy, muy poderoso para
terminar la lección sobre decorador.
Quiero hablarles sobre algunas de las formas en que los decoradores pueden ser útiles y algunas de las ubicaciones comunes
en las que veremos patrones de decoradores en nuestro código y crearemos nuestro propio decorador de
rendimiento.
Eso nos podrá decir cómo se desempeñan nuestras funciones, qué tan rápido son.
Y les prometo que, al final de ese video, los decoradores tendrán sentido para ustedes
y podrán explicarles a otras personas y amigos por qué debemos usar decoradores en nuestros programas.
Te veo ahora
Adiós.