¿Qué es una función?
Imagina que tienes una receta de cocina. Cada vez que quieres hacer ese plato, sigues los mismos pasos. En programación, una función es como esa receta: es un conjunto de instrucciones que se siguen para realizar una tarea específica.
Ejemplo:
Python
def saludar(nombre):
print("Hola,", nombre + "!")
En este ejemplo:
def
indica que estamos definiendo una función.saludar
es el nombre que le hemos dado a nuestra función.nombre
es un parámetro, es decir, un valor que la función espera recibir cuando la llamemos.print("Hola,", nombre + "!")
es el cuerpo de la función, las instrucciones que se ejecutarán cuando la llamemos.
¿Por qué usar funciones?
- Organización: Dividen el código en partes más pequeñas y fáciles de entender.
- Reutilización: Evitan repetir el mismo código varias veces.
- Modularidad: Permiten crear programas más estructurados y fáciles de modificar.
Partes de una función:
- Nombre: Identifica la función. Debe ser descriptivo y seguir las reglas de nomenclatura de Python.
- Parámetros: Valores que se pasan a la función cuando se llama.
- Cuerpo: Conjunto de instrucciones que se ejecutan dentro de la función.
- Valor de retorno: Valor que la función devuelve al terminar su ejecución (opcional).
Llamar a una función:
Una vez definida, una función se llama por su nombre, seguido de paréntesis y los argumentos necesarios.
Python
saludar("Ana") # Esto imprimirá "Hola, Ana!"
Ejemplos prácticos:
- Calculadora simple:
def sumar(a, b):
return a + b
resultado = sumar(5, 3)
print(resultado) # Imprimirá 8
2. Generador de contraseñas:
import random
import string
def generar_contrasena(longitud):
caracteres = string.ascii_letters + string.digits + string.punctuation
contrasena = ''.join(random.choice(caracteres) for i in range(longitud))
return contrasena
mi_contrasena = generar_contrasena(12)
print(mi_contrasena)
3. Juego adivina el número:
import random
def adivinar_numero():
numero_secreto = random.randint(1, 100)
intentos = 0
while True:
intentos += 1
intento_usuario = int(input("Adivina el número (1-100): "))
if intento_usuario == numero_secreto:
print(f"¡Felicidades! Adivinaste en {intentos} intentos.")
break
elif intento_usuario < numero_secreto:
print("El número es más grande.")
else:
print("El número es más pequeño.")
adivinar_numero()