Las funciones son bloques de código reutilizables que realizan una tarea específica. En Python, las funciones se definen utilizando la palabra clave def, seguida del nombre de la función, paréntesis y dos puntos. Dentro de los paréntesis, se pueden incluir parámetros que la función puede recibir. El cuerpo de la función se escribe con una indentación.
Conceptos Clave
- Definición de una Función: Utiliza la palabra clave
defpara definir una función. - Parámetros y Argumentos: Los parámetros se definen en la declaración de la función, mientras que los argumentos son los valores que se pasan a la función cuando se llama.
- Valor de Retorno: Utiliza la palabra clave
returnpara devolver un valor desde una función. - Alcance de Variables: Las variables definidas dentro de una función tienen un alcance local y no son accesibles fuera de la función.
Sintaxis Básica
def nombre_de_la_funcion(parametro1, parametro2):
# Cuerpo de la función
resultado = parametro1 + parametro2
return resultadoEjemplo Práctico
Vamos a definir una función simple que suma dos números y devuelve el resultado.
def sumar(a, b):
resultado = a + b
return resultado
# Llamada a la función
print(sumar(3, 5)) # Salida: 8Explicación del Código
- Definición de la Función:
def sumar(a, b):define una función llamadasumarque toma dos parámetrosayb. - Cuerpo de la Función:
resultado = a + brealiza la suma deayby almacena el resultado en la variableresultado. - Valor de Retorno:
return resultadodevuelve el valor deresultadoal lugar donde se llamó la función. - Llamada a la Función:
print(sumar(3, 5))llama a la funciónsumarcon los argumentos3y5, y luego imprime el resultado.
Ejercicios Prácticos
Ejercicio 1: Función de Saludo
Escribe una función llamada saludar que tome un nombre como parámetro y devuelva un saludo personalizado.
def saludar(nombre):
saludo = "Hola, " + nombre + "!"
return saludo
# Prueba la función
print(saludar("Ana")) # Salida: Hola, Ana!Ejercicio 2: Función de Factorial
Escribe una función llamada factorial que tome un número entero n y devuelva su factorial.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
# Prueba la función
print(factorial(5)) # Salida: 120Ejercicio 3: Función de Número Par
Escribe una función llamada es_par que tome un número entero y devuelva True si el número es par y False si es impar.
def es_par(numero):
return numero % 2 == 0
# Prueba la función
print(es_par(4)) # Salida: True
print(es_par(7)) # Salida: FalseSoluciones a los Ejercicios
Solución al Ejercicio 1
def saludar(nombre):
saludo = "Hola, " + nombre + "!"
return saludo
print(saludar("Ana")) # Salida: Hola, Ana!Solución al Ejercicio 2
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # Salida: 120Solución al Ejercicio 3
def es_par(numero):
return numero % 2 == 0
print(es_par(4)) # Salida: True
print(es_par(7)) # Salida: FalseResumen
En esta sección, hemos aprendido a definir funciones en Python, incluyendo cómo utilizar parámetros y devolver valores. También hemos explorado el alcance de las variables dentro de las funciones. Las funciones son una herramienta poderosa para organizar y reutilizar el código, y son fundamentales para escribir programas eficientes y mantenibles.
En la próxima sección, profundizaremos en los argumentos de función, incluyendo argumentos por defecto y argumentos con nombre.
Curso de Programación en Python
Módulo 1: Introducción a Python
- Introducción a Python
- Configuración del Entorno de Desarrollo
- Sintaxis de Python y Tipos de Datos Básicos
- Variables y Constantes
- Entrada y Salida Básica
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for y while
- Herramientas de Control de Flujo
- Comprensiones de Listas
Módulo 3: Funciones y Módulos
- Definición de Funciones
- Argumentos de Función
- Funciones Lambda
- Módulos y Paquetes
- Visión General de la Biblioteca Estándar
Módulo 4: Estructuras de Datos
Módulo 5: Programación Orientada a Objetos
Módulo 6: Manejo de Archivos
- Lectura y Escritura de Archivos
- Trabajo con Archivos CSV
- Manejo de Datos JSON
- Operaciones de Archivos y Directorios
Módulo 7: Manejo de Errores y Excepciones
- Introducción a las Excepciones
- Manejo de Excepciones
- Lanzamiento de Excepciones
- Excepciones Personalizadas
Módulo 8: Temas Avanzados
- Decoradores
- Generadores
- Administradores de Contexto
- Concurrencia: Hilos y Procesos
- Asyncio para Programación Asíncrona
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias con unittest
- Desarrollo Guiado por Pruebas
- Técnicas de Depuración
- Uso de pdb para Depuración
Módulo 10: Desarrollo Web con Python
- Introducción al Desarrollo Web
- Fundamentos del Framework Flask
- Construcción de APIs REST con Flask
- Introducción a Django
- Construcción de Aplicaciones Web con Django
Módulo 11: Ciencia de Datos con Python
- Introducción a la Ciencia de Datos
- NumPy para Computación Numérica
- Pandas para Manipulación de Datos
- Matplotlib para Visualización de Datos
- Introducción al Aprendizaje Automático con scikit-learn
