[MÚSICA] Hola. En esta lección aprenderemos sobre uno de los elementos que son más utilizados al programar y que va a hacer que nuestro código sea cada vez más fácil de entender y de construir. Estos son las funciones. Las funciones existen por una necesidad muy simple que es la de reutilizar código dentro de nuestros programas. Cada vez que programamos, nos vamos a dar cuenta que muchas veces nos encontraremos con que tenemos que escribir una secuencia del código una y otra vez, pero con unas pequeñas variaciones y luego utilizarla en distintos momentos de nuestro programa. Una solución muy clásica para esto, y que probablamente you hemos hecho, es sencillamente copiar y pegar el código que queremos reutilizar y luego modificar manualmente esas pequeñas variaciones. Podemos hacer esto y seguramente nuestro código va a funcionar. Pero también es posible que podamos cometer errores muy fácilmente si es que nos olvidamos de cambiar las partes apropiadas de nuestro código. Más aún, si nos damos cuenta que debemos ir corrigiendo algo en una parte del código, también tenemos que acordarnos de corregirlo en todas las partes del código que hemos modificado anteriormente. Para eso, existe un concepto que vamos a llamar funciones y nuestro objetivo en esta lección va a ser aprender a reutilizar secciones de código mediante funciones. [AUDIO EN BLANCO] you sabemos cómo escribir ciclos utilizando for y while, para repetir acciones que muchas veces se hacen de manera consecutiva. Este ejemplo a continuación escribe en pantalla el texto al pasado seguido de un número y de una unidad de tiempo una cantidad determinada de veces. En este caso, la unidad de tiempo es días y la cantidad de veces que se repite el texto está guardada en la variable total. Si ahora queremos modificar este código, para que a continuación escriba más texto pero donde la unidad sea meses y que se escriba no 3 sino 4 veces, entonces podemos copiar el código anterior y modificar las variables unidad y total. Ahora, si queremos hacer lo mismo una vez más, pero cambiando la unidad por segundos y que ahora se escriba 10 veces en lugar de 4, entonces tenemos que volver a copiar el código y cambiar las variables unidad y total. Y si bien este código que tenemos aquí va a funcionar, también es fácil equivocarse y olvidarnos de cambiar una variable. Además, nuestro código se hace innecesariamente largo y cada vez más difícil de entender. Podemos hacerlo mejor. Claro, como acabamos de ver, para indicar meses y días tenemos que escoger el código y si bien esto funciona, al copiar el código tenemos que tener cuidado de cambiar el valor de la variable total y también el valor de la variable unidad en cada lugar que lo ocupemos. Si no tenemos cuidado, va a ser muy fácil equivocarse. [AUDIO EN BLANCO] En cambio, si tenemos a mano una función que en este caso le vamos a poner de nombre recordatorio, podríamos escribir algo del siguiente estilo, algo de esta manera y en solo tres líneas de código podríamos ejecutar lo mismo que hicimos anteriormente, pero especificando en cada caso qué valores queremos modificar. De esta manera vamos a evitar tener que volver a escribir, copiar, y pegar muchas líneas de código y evitamos ir cometiendo errores. [AUDIO EN BLANCO] Y si bien aún no hemos aprendido cómo programar nuestras propias funciones, tenemos que darnos cuenta que you la hemos usado anteriormente. Han escuchado o hemos escuchado de las funciones print e input, que son funciones que you vienen incorporadas en Python y que las hemos utilizado anteriormente. La función print, por ejemplo, nos sirve como parámetro uno o más strings para después mostrarla en pantalla. Por ejemplo si queremos imprimir el texto Pearl Jam, podemos utilizar la función de la siguiente forma, definiendo los strings Pearl y el string Jam y entregándolos como parámetros a la función print. [AUDIO EN BLANCO] Por otro lado, la función input, esta recibe solamente un único string y luego espera que el usuario ingrese contenido en él. En el ejemplo, el string señale su edad es entregado como parámetro a input. La función input lo escribe y entrega como resultado el valor ingresado por el usuario para almacenarlo en la variable de nombre edad. Vamos a decir entonces que las funciones van a ser fragmentos de código que utilizan un conjunto definido de parámetros que ejecutan acciones con estos parámetros y que retornan unos resultados. Y para entender mejor aún el concepto de función es útil compararlo con su símil del mundo matemático, you que las funciones matemáticas se pueden entender de la misma manera. Una función como la que vemos aquí x cuadrado más y cuadrado recibe dos elementos de entrada, x e y, y entrega un valor o resultado de salida que se obtiene luego de operar ambos valores siguiendo la fórmula descrita en la ecuación. Haciendo la comparación entonces entre ambos conceptos, las funciones matemáticas y las funciones de Python existen tanto en ambos casos elementos de entrada como eran x e y y en Python estos valores de entrada corresponden a los parámetros de la función. La fórmula que nos permite pasar de los valores de entrada a la salida en Python se entiende como el código que realiza acciones con estas variables y finalmente el valor de salida de la función matemática corresponde a lo que en Python vamos a llamar el valor de retorno de la función. [AUDIO EN BLANCO] [AUDIO EN BLANCO] Entonces, en esta lección hemos explorado el concepto de función, como un elemento que nos permitirá reutilizar código. Hemos dicho que una función la vamos a definir como un segmento de código que va a hacer tres cosas. Primero, recibe parámetros, luego ejecuta acciones con estos parámetros y finalmente retorna un resultado. Muchas gracias. [MÚSICA]