En esta lección aprenderá sobre funciones en Python. Hemos estado escribiendo código aleatorio durante algunas lecciones, pero Necesitamos aprender a escribir código organizado. En otras palabras, podemos combinar nuestro código suelto en más pequeños. fragmentos de código manejables y mantenibles. Y esos fragmentos de código son lo que llamamos funciones. Y una gran ventaja de usar funciones es que lo escribimos una vez, luego lo usamos tantas veces en el futuro nuestra aplicación. Entonces definimos nuestra función almacenando todo el código en esa pedazo. Luego podemos reutilizar esa función llamándola desde cualquier lugar en nuestra aplicación. En realidad, el término que llama a una función se puede sustituir con el término ejecutar una función o invocar una función o ejecutar una función. Básicamente todos significan lo mismo. Y otra forma de ver una función es que es una contenedor que contiene algunas líneas de código que realizan una tarea específica. Y ese es un punto clave a tener en cuenta: las funciones solo deben Haz una cosa. Por ejemplo, ya hemos trabajado y utilizado funciones integradas. funciones en Python, como la función de impresión y el tipo función. Estas funciones hacen solo una cosa cada una y listo. La función de impresión simplemente imprime todo lo que pasamos en el paréntesis. Y la función de tipo simplemente toma un nombre de variable y devuelve su tipo. Entonces solo una tarea específica por función. También quería aclarar un punto clave en la terminología: a menudo Escuchará los términos funciones y métodos. Es posible que también escuches que se usan indistintamente, pero existe una Pequeña diferencia. Las funciones son lo que hemos discutido hasta ahora. En cuanto a los métodos, también son funciones pero pertenecen a un clase particular. Como aún no hemos hablado de clases u objetos, por favor entender por ahora que si una función no pertenece a un clase, entonces es solo una función. Sin embargo, si la función pertenece a una clase, entonces llámalo método. Ambos se definen de la misma manera y se ven iguales, pero los llamamos función o método, dependiendo de si son independientes o pertenecen a alguna clase. Muy bien, así es como se ve una función en Python. Comenzamos con una palabra clave de reserva llamada def, que es la abreviatura de define o definición porque estamos definiendo una función seguido del nombre de una función. Y en este caso el nombre de la función es agregar, luego va seguido de un par de paréntesis que pueden contener elementos, y estos elementos se denominan parámetros. Estos parámetros luego se utilizan en el código de la función. Ahora, algunas funciones tienen parámetros, mientras que otras no. los necesita, por lo que son opcionales. Y entonces estos paréntesis pueden estar vacíos. Luego, después del paréntesis va seguido de dos puntos, que al igual que Ya vimos, con bucles y condicionales, los dos puntos significan que aparece algún código sangrado y esto sangría El código es el cuerpo de la función. Y porque estas líneas de código tienen sangría. Esto significa para el intérprete de Python que son parte de esta función. Finalmente, tenemos la declaración de devolución. La palabra return en minúsculas es otro Python palabra reservada, al igual que la palabra clave def aquí arriba. La declaración de retorno se utiliza para especificar cuál es la función. debería regresar. Y una función puede devolver cualquier tipo de valor, incluido cadenas, números enteros e incluso otras funciones. Entonces, si miramos esta función en particular, vemos que su nombre es add y lleva dos parametros NUM uno y NUM dos. Cuando se llama a esta función, estos dos valores se pasan como parte de la llamada a la función, y vemos esta llamada a la función aquí. Llamamos a la función escribiendo su nombre y le pasamos lo que sea necesario. argumentos Tenga en cuenta la diferencia de nombre entre argumentos y parámetros cuando pasamos elementos entre paréntesis durante un llamada a función, como esta línea, llamamos a estos elementos argumentos. Pero cuando definimos una función e incluimos elementos en el paréntesis, como aquí arriba, estos se denominan parámetros. Así que tenga en cuenta esta distinción y comprenda que algunas personas también los usan indistintamente. Entonces llamamos a la función aquí por su nombre, luego le pasamos dos argumentos, un dos y un cuatro. Ahora, el número de argumentos debe coincidir con el número de parámetros, y si no coinciden, entonces Python generar un error. Entonces, en este ejemplo, el valor dos será el valor para el NUM un parámetro y el valor cuatro será el valor del NUM dos parámetros. Y una vez que se realiza esta llamada a la función y los argumentos son pasado, entonces la función se ejecuta y ejecuta el código en el bloque sangrado. Y una vez que se ejecutan esas líneas, llegamos a la declaración de devolución, que luego devuelve un valor a la declaración de llamada de función. Entonces este valor de suma será devuelto a esta llamada de función aquí abajo. Ahora bien, no todas las funciones devuelven algo a la llamada a la función. Entonces, en tal escenario, no necesitamos una declaración de devolución. En realidad, todas las funciones devuelven algo. Pero cuando no incluimos explícitamente una declaración de devolución, el La función de Python seguirá devolviendo algo, que es el palabra none, que es algo que sucede en segundo plano. En Python, las funciones que devuelven algo se llaman fructífero, mientras que las funciones que simplemente se ejecutan y no regresan Cualquier cosa se llama infructuosa. Muy bien, déjame llevarte a un cuaderno Jupyter que ya tiene todo este código escrito para nosotros. Y cuando ejecuto este código, I. Obtenga el resultado esperado. Cuando ejecuto este código, el intérprete de Python comienza desde la parte superior, y lo primero que encuentra es una definición de función. Sin embargo, este código no se ejecutará hasta que alguien lo llame primero. Entonces el intérprete de Python omite la ejecución de este grupo de líneas. por ahora. Luego continúa por las líneas de código y encuentra esto primera línea de código ejecutable, que es solo una variable que Asignó un valor para una llamada de función. Entonces llamamos a esta función, que se llama Agregar, y pasamos el dos argumentos un dos y un cuatro. Esto a su vez va a la Definición de esta función, almacena los valores de Dos y Cuatro en NUM uno y NUM dos parámetros, luego ingresa y ejecuta el bloque de código. Esto ejecuta estas dos declaraciones impresas y luego crea una nueva variable llamada Suma y le asigna el valor de NUM uno más NUM Dos, que es dos más cuatro. Entonces se obtiene una respuesta de seis. Luego devuelve este valor usando la declaración de devolución. Entonces, este valor se devuelve a la función Llamada, que es aquí abajo. Entonces ahora esta llamada a función es un seis y asignamos este valor a la variable res que finalmente imprimimos en esta línea. Entonces obtenemos un seis en nuestra salida. Ahora, algunas cosas que pueden salir mal con este código son, por ejemplo Por ejemplo, no pasamos el número correcto de argumentos. Por ejemplo, eliminaré el valor cuatro de nuestra llamada a función. y ejecute este código nuevamente. Esto generará un error que indica que la función Agregar está falta un argumento que sea correcto. Además, si llamo a la función pero uso una A mayúscula en su lugar de la A minúscula esperada para que coincida con la de la función. Nombre y luego ejecutarlo, Lo haré. Recibe un error también. Así que tenga cuidado nuevamente con cómo nombra y llama a su funciones. Ahora, es parte de las Mejores Prácticas de Programación incluir un comentario justo encima de la definición de la función para explicar qué hace esta función. Entonces, en lugar de leer el código línea por línea para comprender qué hace, un comentario de una o dos líneas que explique esto Esta función sin duda le ayudará en el futuro cuando usted o alguien más revisa este código. Además, es parte de las mejores prácticas de programación dejar dos líneas en blanco antes y después de la función. Esta función no tiene ningún Código antes, sino después. Puedes ver que dejé dos líneas en blanco entre la devolución. declaración y la siguiente línea de código. Nuevamente, estas son solo las mejores prácticas de programación. Así que no es un requisito, pero siempre es recomendable seguir lo mejor Prácticas. Finalmente, el código de llamada a la función debe venir después de la función. ha sido definido. Por ejemplo, pondré esta línea de llamada de función antes del función ha sido. Definido y. Entonces correré. Él. Y me sale un error porque estoy llamando a una función que no tiene aún no se ha definido porque Python lee el código secuencialmente comenzando desde arriba. Entonces, en esta lección, aprendiste sobre las funciones en Python y Estén atentos a la próxima lección donde aprenderá sobre las listas. Gracias por ver.