APRENDE FUNCIONES en PYTHON: def, pass, sintaxis, None, return vs print, argumentos, scope y más
¿Qué es una función en Python?
Introducción a las funciones
- Una función es un bloque de código que permite compactar y reutilizar el código. Recibe datos, los utiliza y devuelve resultados.
- La sintaxis para definir una función comienza con la palabra clave
def, seguida del nombre de la función, paréntesis para los argumentos y dos puntos.
Indentación en Python
- En Python, se utiliza la indentación (o sangría) para definir bloques de código, a diferencia de otros lenguajes que usan llaves.
- La sentencia
passpuede ser utilizada como un marcador de posición en una función que aún no hace nada.
Ejemplo práctico: Función saludo
Creando una función simple
- Se cambia el contenido de la función para que imprima "Hola" al ser llamada.
- Al llamar a la función sin pasarle un argumento, se genera un error indicando que falta el dato requerido.
Uso de argumentos
- Se define un argumento llamado
nombrepara recibir datos dentro de la función.
- El valor devuelto por la llamada a la función es
None, lo cual indica que no se ha retornado ningún valor explícito.
Cálculo de promedios con funciones
Definiendo una nueva función
- Se crea una nueva función llamada
mediaque recibe tres argumentos numéricos separados por comas.
- Dentro de esta función, se calcula el promedio dividiendo la suma entre 3 y utilizando
returnpara devolver el resultado calculado.
Diferencias entre print y return
- La sentencia
printmuestra valores en consola pero no devuelve nada; mientras quereturnpermite utilizar los valores calculados posteriormente en el código.
- Si se usa
printen lugar dereturn, la llamada a la función devolverá automáticamenteNone.
Conclusiones sobre funciones
Resumen final
- Las funciones son esenciales para reutilizar código y organizarlo eficientemente.
¿Importa el orden de los argumentos en funciones?
Argumentos y Keyword Arguments
- El orden de los argumentos es crucial al llamar a una función. Por ejemplo, al restar 5 y 3, el resultado es diferente que si se invierte el orden.
- Los keyword arguments permiten especificar qué valor corresponde a cada argumento sin depender del orden. Esto se hace usando el nombre del argumento seguido de un igual y su valor.
- Al usar keyword arguments, se pueden evitar errores relacionados con el orden y mejorar la legibilidad del código. También permite asignar valores por defecto a los argumentos.
- Si no se proporcionan argumentos a una función que espera recibirlos, generará un error. Sin embargo, al establecer valores por defecto, la función puede ejecutarse correctamente sin argumentos.
Scope o Alcance de las Variables
- El scope se refiere al alcance de las variables en programación. Las variables definidas dentro de una función son locales y solo existen dentro de esa función.
- Si intentamos acceder a una variable local fuera de su función, resultará en un error porque no existe en ese contexto.
- En Python, si hay dos variables con el mismo nombre (una global y otra local), la variable local tiene prioridad dentro de la función.
- Se puede utilizar la palabra clave
globalpara indicar que queremos usar la variable global en lugar de crear una nueva variable local con el mismo nombre.
Resumen sobre funciones
Conceptos Clave
- Se han abordado varios conceptos importantes: definición y sintaxis de funciones (
def), tipos desconocidos comoNoneType, uso delreturn, diferencias entrereturnyprint, así como el concepto de scope y las variables locales vs globales.
Indentación en Python
- La indentación es fundamental en Python; se recomienda usar cuatro espacios por nivel según PEP8 para mantener un estilo consistente.
- Aunque algunos prefieren tabulaciones por precisión, lo importante es que todas las líneas estén alineadas correctamente para evitar problemas durante la ejecución del código.
Preferencias Personales sobre Espacios vs Tabulaciones