Funciones en programación: qué son y cómo escribirlas
Una función es un bloque de código con nombre que puedes reutilizar. Parámetros, retorno y buenas prácticas, con ejemplos en Python y JavaScript.
Cuando un programa crece, repetir el mismo código en varios sitios se vuelve inmanejable. Una función es un bloque de código con un nombre que puedes ejecutar cuantas veces quieras.
Para qué sirven
- Reutilizar: escribes la lógica una vez y la llamas donde haga falta.
- Organizar: divides un problema grande en piezas pequeñas con nombre.
- Corregir en un solo sitio: si hay un error, lo arreglas en la función y se arregla en todas las llamadas.
Definir y llamar una función
En Python:
def saludar(nombre):
print(f"Hola, {nombre}")
saludar("Ana")
En JavaScript:
function saludar(nombre) {
console.log(`Hola, ${nombre}`);
}
saludar("Ana");
nombre es un parámetro: el hueco que la función espera. Al llamarla con "Ana", ese valor es el argumento. Si olvidas que hay que llamarla, la función definida no hace nada por sí sola.
Devolver un resultado
Muchas funciones calculan algo y lo devuelven con return, para usarlo después:
def doble(numero):
return numero * 2
resultado = doble(5) # resultado vale 10
Una función sin return devuelve None en Python y undefined en JavaScript. Es un error frecuente usar print donde quieres return: print solo muestra el valor por pantalla; return lo entrega al resto del programa.
Valores por defecto y varios parámetros
def saludar(nombre, saludo="Hola"):
return f"{saludo}, {nombre}"
saludar("Ana") # Hola, Ana
saludar("Ana", "Buenas") # Buenas, Ana
JavaScript admite lo mismo: function saludar(nombre, saludo = "Hola"). Y en JavaScript moderno hay funciones flecha, una sintaxis más corta: const doble = (n) => n * 2;.
Buenas prácticas
- Una función, una tarea. Si necesitas «y» para describirla, quizá deban ser dos.
- Nombres claros, con verbos:
calcular_total,enviarCorreo. - Pocos parámetros. Más de tres o cuatro suele indicar que algo se puede reorganizar.
- Evita cambiar datos externos dentro de la función: es más fácil de entender y probar si solo depende de sus parámetros y devuelve un resultado.
- Documéntala con un comentario breve cuando no sea obvio qué hace.
El ámbito de las variables
Las variables creadas dentro de una función solo existen dentro de ella. Es una ventaja: evita que funciones distintas se pisen. Si algo no funciona como esperas, revisa cómo depurar errores y repasa variables, condiciones y bucles, la base sobre la que se construyen las funciones.
Fuentes consultadas
- Definir funciones (Tutorial de Python) (Python Software Foundation)
- Funciones - Guía de JavaScript (MDN Web Docs)
