Funciones
Definiendo funciones en Python
Las funciones son bloques de código que permiten reutilizar código y modularizar los programas. Encapsulan una tarea o operación específica y se pueden llamar desde cualquier parte del programa.
Declarando y llamando a una función
Para definir una función en Python, se usa la palabra clave def
seguida del nombre de la función y paréntesis. Los paréntesis pueden contener parámetros, que son valores de entrada que la función necesita para realizar su tarea.
Python
def nombre_funcion(parámetros):
# Cuerpo de la función
Una vez que se define una función, se puede llamar usando su nombre y paréntesis. Si la función tiene parámetros, se deben pasar los valores requeridos al llamarla.
Python
nombre_funcion(valores_parámetros)
Función sin parámetros
Una función puede existir sin ningún parámetro. En tales casos, los paréntesis están simplemente vacíos.
Python
def saludar():
print("¡Hola!")
saludar()
Función que devuelve un valor - Parte 1
Las funciones pueden devolver valores usando la instrucción return
. El valor devuelto por una función se puede almacenar en una variable o usarse directamente.
Python
def cuadrado(número):
resultado = número * número
return resultado
valor_cuadrado = cuadrado(5)
print(valor_cuadrado)
Función con parámetros
Las funciones pueden tener parámetros para aceptar valores de entrada. Estos parámetros se enumeran dentro de los paréntesis en la definición de la función.
Python
def saludar(nombre):
print(f"¡Hola, {nombre}!")
saludar("Juan")
Pasar argumentos con clave y valor
Al llamar a una función con varios parámetros, se pueden usar argumentos con clave para asociar explícitamente cada argumento con su parámetro correspondiente.
Python
def formatear_nombre(primer_nombre, apellido):
nombre_completo = f"{primer_nombre} {apellido}"
return nombre_completo
nombre_formateado = formatear_nombre(apellido="Doe", primer_nombre="Juan")
print(nombre_formateado)
Función que devuelve un valor - Parte 2
Las funciones pueden devolver varios valores empaquetándolos en una tupla o lista.
Python
def calcular_área_y_perímetro(ancho, altura):
área = ancho * altura
perímetro = 2 * (ancho + altura)
return área, perímetro
área_y_perímetro = calcular_área_y_perímetro(ancho=10, altura=5)
print("Área:", área_y_perímetro[0])
print("Perímetro:", área_y_perímetro[1])
Función con parámetros predeterminados
Las funciones pueden tener parámetros predeterminados, que proporcionan valores para los parámetros si no se pasan valores al llamar a la función.
Python
def saludar(nombre="Invitado"):
print(f"¡Hola, {nombre}!")
saludar()
saludar("Juan")
Número arbitrario de argumentos
Las funciones pueden aceptar un número arbitrario de argumentos usando el parámetro asterisco (*). Esto permite una entrada dinámica sin definir un número fijo de parámetros.
Python
def imprimir_todo(*args):
for arg in args:
print(arg)
imprimir_todo(1, 2, 3, "Hola")
Número arbitrario de parámetros y parámetros predeterminados
Las funciones pueden tener una combinación de parámetros predeterminados y un número arbitrario de argumentos usando tanto el parámetro asterisco (*) como otros parámetros con valores predeterminados.
Python
def imprimir_con_prefijo(prefijo, *args):
for arg in args:
print(f"{prefijo}: {arg}")
imprimir_con_prefijo("Artículo", 1, 2, 3, "Hola")
Función como parámetro de otra función
Las funciones se pueden pasar como parámetros a otras funciones. Esto permite la programación de orden superior y la creación de código más dinámico y reutilizable.
Python
def aplicar_función(función, argumento):
return función(argumento)
def cuadrado(número):
return número * número
resultado = aplicar_función(cuadra