Funciones de Python: guía definitiva y ejemplos
Domina las funciones de Python. Aprenda a escribir código reutilizable usando def, definir argumentos, valores de retorno y comprender el alcance a nivel local y global.
Descripción general
Una función es un bloque autónomo de código organizado y reutilizable diseñado para realizar una acción única y específica. A medida que sus scripts de Python crecen más allá de unas pocas líneas, organizar el código en funciones se vuelve fundamental. Las funciones abstraen la complejidad, haciendo que el flujo de su programa principal sea más fácil de leer y mantener. En lugar de repetir la misma lógica en varios lugares, escribe una función una vez y la "llama" donde sea necesario.
Python proporciona numerosas funciones integradas listas para usar, como `print()`, `len()` y `type()`. Sin embargo, el verdadero poder de la programación proviene de la creación de sus propias funciones definidas por el usuario. Al encapsular la lógica, se crean bloques de construcción modulares que se pueden probar de forma aislada y reutilizar en diferentes proyectos o compartir con un equipo.
Para definir una función en Python, se utiliza la palabra clave `def`, seguida de un nombre de función descriptivo, paréntesis `()` y dos puntos `:`. Cualquier código sangrado debajo de esta definición pertenece al bloque de funciones. La función se ejecuta solo cuando se la llama explícitamente por su nombre.
Las funciones pueden aceptar datos a través de parámetros (también llamados argumentos). Estas son variables enumeradas entre paréntesis de la definición de la función. Puede requerir argumentos posicionales, que deben pasarse en el orden exacto, o utilizar argumentos de palabras clave con valores predeterminados, lo que permite llamadas a funciones flexibles. Por ejemplo, `def calcular_tax(precio, tasa=0.05):` permite a la persona que llama omitir el argumento `tasa`, por defecto al 5%.
Finalmente, las funciones generalmente envían datos a la persona que llama mediante la declaración "return". Cuando se ejecuta un "retorno", la función termina inmediatamente y devuelve el valor especificado. En Python, incluso puedes devolver múltiples valores separados por comas, que Python agrupa automáticamente en una tupla. Comprender el alcance de la función (la regla según la cual no se puede acceder a las variables creadas dentro de una función desde fuera de ella) es vital para prevenir mutaciones de estado propensas a errores.
Código y salida de ejecución
Aquí hay una función simple que calcula el impuesto aplicado a un precio, demostrando parámetros y valores de retorno.
def calculate_total(price, tax_rate=0.08):
"""
Calculates the final price after applying tax.
"""
tax_amount = price * tax_rate
total = price + tax_amount
return total
print(calculate_total(100.00))
print(calculate_total(50.00, tax_rate=0.10))108.0
55.0Implementación paso a paso
- Encapsulando fórmulas matemáticas complejas
- Separar la lógica de la interfaz de usuario de la lógica empresarial del backend
- Creación de módulos de utilidad para la colaboración en equipo.
Preguntas frecuentes
¿Qué son los argumentos predeterminados?
Los argumentos predeterminados son valores que se utilizan si no se proporciona ningún argumento durante la llamada a la función.
¿Puede una función devolver múltiples valores?
Sí, Python permite que las funciones devuelvan múltiples valores separándolos con comas. Debajo del capó, esto devuelve una tupla.
Temas relacionados
Comprender las variables de Python y los tipos de datos principales (cadenas, enteros, flotantes, booleanos). Una guía completa para principiantes sobre la asignación de memoria en Python.
Clases de Python y programación orientada a objetosUna introducción completa a las clases, objetos, herencia y conceptos de programación orientada a objetos de Python. Cree modelos de datos sólidos y escale sus aplicaciones Python.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Cómo utilizar funciones Lambda en Python
Aprenda a utilizar funciones lambda en Python. Domine funciones anónimas, devoluciones de llamadas en línea y clasificación de datos de listas con claves lambda.
Hoja de referencia de funciones del módulo matemático de Python
Guía de referencia rápida para la biblioteca estándar matemática de Python. Aprenda a utilizar funciones trigonométricas, logarítmicas, de redondeo y aritméticas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.