Las Funciones en Python
Las Funciones en Python son bloques de código reutilizables que realizan una tarea específica. Las funciones en Python se utilizan para evitar la repetición de código, organizar mejor los programas y facilitar el mantenimiento. Pueden tomar entradas (parámetros) y devolver resultados.
Enlaces de Interés:
1. Tipos de Funciones en Python
1.1. Funciones Predefinidas (Built-in Functions)
Son funciones que ya están disponibles en Python sin necesidad de definirlas. Algunas de las más utilizadas son:
print()
: Imprime un mensaje en la consola.len()
: Retorna la longitud de una secuencia.input()
: Permite al usuario ingresar datos.type()
: Retorna el tipo de una variable.
Ejemplo:
nombre = input(“Escribe tu nombre: “) # función built-in ‘input’
print(“Hola, “, nombre) # función built-in ‘print’
1.2. Funciones Definidas por el Usuario
Son las funciones que los desarrolladores definen para realizar tareas específicas. Estas se definen usando la palabra clave def
.
Ejemplo:
def saludar(nombre):
print(f”Hola, {nombre}”)
saludar(“Juan”) # Llama a la función saludar
1.3. Funciones Lambda o Anónimas
Son funciones pequeñas y sin nombre que se definen con la palabra clave lambda
. Se suelen utilizar para operaciones sencillas y en situaciones donde solo se necesita una función temporal.
Sintaxis: lambda argumentos: expresión
Ejemplo:
doblar = lambda x: x * 2
print(doblar(5)) # Devuelve 10
1.4. Funciones Recursivas
Son funciones que se llaman a sí mismas. Son útiles para resolver problemas que pueden descomponerse en subproblemas más pequeños, como el cálculo de factoriales o la serie de Fibonacci.
Ejemplo:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n – 1)
print(factorial(5)) # Devuelve 120
2. Partes de una Función en Python
- Definición con
def
: Todas las funciones definidas por el usuario comienzan condef
. - Nombre de la Función: Elige un nombre descriptivo que indique lo que hace la función.
- Paréntesis
()
: Dentro de los paréntesis van los parámetros (si los hay). - Cuerpo de la Función: Contiene el código que se ejecutará cuando la función sea llamada.
return
: (Opcional) Se usa para devolver un valor desde la función.
Ejemplo Básico:
def sumar(a, b): # Definición de la función
resultado = a + b
return resultado # Devuelve el resultado
print(sumar(3, 4)) # Llama a la función y muestra el resultado (7)
3. Parámetros y Argumentos de las Funciones en Python
- Parámetros: Son variables que se definen cuando la función es creada. Se colocan dentro de los paréntesis.
- Argumentos: Son los valores que se pasan a la función cuando es llamada.
3.1. Parámetros por Defecto
Son parámetros que tienen un valor predeterminado y no es necesario especificarlos cuando se llama a la función.
Ejemplo:
def saludar(nombre=”amigo”):
print(f”Hola, {nombre}”)
saludar() # Salida: Hola, amigo
saludar(“Ana”) # Salida: Hola, Ana
3.2. Argumentos Variables (*args
y **kwargs
)
*args
: Permite pasar una cantidad indefinida de argumentos posicionales a una función.**kwargs
: Permite pasar una cantidad indefinida de argumentos con nombre (keyword arguments).
Ejemplo de *args
:
def sumar_varios(*args):
return sum(args)
print(sumar_varios(1, 2, 3, 4)) # Salida: 10
Ejemplo de **kwargs
:
def mostrar_info(**kwargs):
for clave, valor in kwargs.items():
print(f”{clave}: {valor}”)
mostrar_info(nombre=”Juan”, edad=30, ciudad=”Madrid”)
4. Tipos de Funciones en Python según su Comportamiento
4.1. Funciones que no devuelven valor (void
)
Estas funciones ejecutan una tarea pero no devuelven ningún valor.
Ejemplo:
def decir_hola():
print(“¡Hola!”)
5. Ejemplos Adicionales
5.1. Función sin parámetros y sin retorno
def mensaje():
print(“Este es un mensaje sin parámetros ni retorno”)
mensaje() # Imprime el mensaje
5.2. Función con parámetros y retorno
def multiplicar(a, b):
return a * b
resultado = multiplicar(5, 3)
print(resultado) # Salida: 15
5.3. Función con parámetros por defecto
def saludar(nombre=”amigo”):
print(f”Hola, {nombre}”)
saludar() # Salida: Hola, amigo
saludar(“Carlos”) # Salida: Hola, Carlos
5.4. Función Recursiva
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(6)) # Salida: 8
¿Qué son las Funciones en Python?
- Las funciones en Python son fundamentales para estructurar el código y evitar la repetición.
- Existen diferentes tipos de funciones: predefinidas, definidas por el usuario, anónimas (lambda) y recursivas.
- Puedes utilizar funciones con parámetros, valores de retorno, y aplicar conceptos avanzados como
*args
y**kwargs
para aceptar múltiples argumentos.