Como programador, a menudo se encontrará realizando una acción o tarea repetidamente. Esto puede ser tedioso y consumir mucho tiempo, especialmente cuando se trabaja con una base de código grande o compleja. Automatizarlos con funciones es un enfoque más efectivo para realizar tales tareas. Las funciones le permiten escribir la lógica del código una vez y usarla en cualquier parte de su programa.
¿Qué es una función de Python?
En Python, una función es un bloque de código que se utiliza para realizar una tarea específica. Solo necesita escribir una función una vez, pero puede usarla varias veces en su código. Una función puede tomar argumentos como entrada y devolver valores de salida. Este sencillo programa muestra una función que calcula la suma de tres números:
# Función Python para calcular la suma de tres números
definitivamentecalcular_suma(a B C):
devolver a+b+c
imprimir (calcular_sum(1,2,3)) # devuelve 6
imprimir (calcular_sum(1000, 300,44)) # devuelve 1344
imprimir (calcular_sum(12, 4,78)) # devuelve 94
En el programa anterior, la función devuelve la suma de tres argumentos. Cuando la función se llama varias veces, devuelve una salida diferente para cada caso. Una aplicación útil para esta función será una aplicación de calculadora.
Definición de una función en Python
Python tiene muchas funciones integradas disponible para que lo usen los desarrolladores. Sin embargo, estas funciones integradas no siempre son suficientes para satisfacer las demandas de la mayoría de los proyectos. Para cumplir con las demandas personalizadas, debe definir sus funciones personalizadas. Definir funciones personalizadas es una práctica común en la programación.
En Python, puede definir una función personalizada utilizando el definitivamente palabra clave seguida del nombre de su función con paréntesis delante. Aquí hay un ejemplo:
definitivamentenombre de la función()
Debe tomar nota de estas reglas al asignar un nombre de función en Python:
- Los nombres de las funciones deben estar en minúsculas.
- Los nombres de las funciones deben ser descriptivos.
- Use guiones bajos para separar palabras en el nombre de una función.
Después de definir la función, debe escribir la lógica para realizar la tarea deseada. Por ejemplo, esta función calcula el área de un triángulo:
# Función de Python para calcular el área de un triángulo
definitivamentecalcular_área_del_triángulo(base, altura):
área = (base * altura)/2
devolver área
imprimir (calcular_área_del_triángulo(12, 3))
La función anterior define dos parámetros: base y altura, divide su producto por dos y devuelve el resultado como la salida. Puede escribir cualquier lógica que desee que realice su función.
Comprender los argumentos de las funciones
En ejemplos anteriores, las funciones han tomado argumentos para realizar acciones. Los argumentos en estos ejemplos se conocen como argumentos requeridos o posicionales. En Python, sus argumentos pueden ser cualquiera de los siguientes:
- Argumentos posicionales
- Argumentos de palabras clave
Argumentos posicionales
Los argumentos posicionales deben pasarse en el orden correcto de definición. Por ejemplo, si define una función con parámetros un, b, y C, debe pasar valores para estos parámetros en consecuencia cuando los llame. Examinemos un ejemplo anterior:
# Función Python para calcular la suma de tres números
definitivamentecalcular_suma(a B C):
devolver a+b+c
imprimir (calcular_sum(1,2,3)) # devuelve 6
imprimir (calcular_sum(1000, 300,44)) # devuelve 1344
imprimir (calcular_sum(12, 4,78)) # devuelve 94
En el programa anterior, el calcular_sum() La función toma tres argumentos cada vez que la llamamos. Cada argumento representa un parámetro correspondiente. En la primera llamada de función, los números 1, 2, y 3 representar un, b, y C respectivamente.
Un parámetro se declara en la definición de una función, mientras que un argumento es el valor pasado cuando llamas a la función. Este valor es una representación de su parámetro correspondiente.
Los argumentos posicionales son obligatorios. Si no los agrega, obtendrá un Error de tecleado. El siguiente ejemplo demuestra esto:
definitivamentecalcular_suma(a B C):
devolver a+b+c
imprimir (calcular_sum(1,2)) # genera TypeError
Cuando ejecute el programa anterior en su máquina, obtendrá un error similar al de la imagen a continuación:
Argumentos de palabras clave
Los argumentos de palabras clave no necesariamente deben pasarse cada vez que llama a una función. Son argumentos opcionales y no necesitan seguir un orden específico. Python nos permite usar *args y **kwargs para especificar argumentos de palabra clave.
Aparte de usar *argumentos y **kwargs, también es posible especificar valores predeterminados para sus argumentos. Hacer esto no generará un error si olvida agregar un valor al llamar a la función. Este ejemplo da una ilustración:
definitivamentecalcular_suma(a, b, c=3):
devolver a+b+c
imprimir (calcular_sum(1,2)) # devuelve 6
En el programa anterior, cuando calcular_sum() se llama, no hay argumento para C; esto no afectará el programa porque C ya tiene un valor predeterminado. Puede especificar valores predeterminados para tantos argumentos como desee, pero asegúrese de hacerlo con prudencia.
Use funciones para organizar su código
Las funciones son útiles para organizar su código, haciéndolo más legible y eficiente. Con las funciones, puede dividir su código en fragmentos más pequeños y reutilizables que son más fáciles de entender y mantener. Además, si necesita realizar cambios en su código, solo necesita modificar la función necesaria en lugar de la base de código completa.