Una función es un bloque de código que solo se ejecuta cuando se llama. Puede pasar datos, conocidos como parámetros, a una función. Una función puede devolver datos como resultado.
Creando una Función
En Python, una función se define usando la palabra clave def:
Ejemplo
def my_function():
print("Mi primera función")
Llamando a una función Para llamar a una función, use el nombre de la función seguido de paréntesis:
Ejemplo
def my_function():
print("Hola, esta es mi primera función")
my_function()
Parámetros
La información se puede pasar a funciones como parámetro. Los parámetros se especifican después del nombre de la función, dentro de los paréntesis.
Puede agregar tantos parámetros como desee, solo sepárelos con una coma.
El siguiente ejemplo tiene una función con un parámetro (fname). Cuando se llama a la función, pasamos un nombre que se utiliza dentro de la función para imprimir el nombre completo:
Ejemplo
def my_function(fname):
print(fname + "Python")
my_function("Manuel")
my_function("Agustín")
my_function("Javier")
Valor de parámetro predeterminado
El siguiente ejemplo muestra cómo usar un valor de parámetro predeterminado. Si llamamos a la función sin parámetro, utiliza el valor predeterminado:
Ejemplo
def my_function(nombre ="Manuel"):
print("Me llamo" + nombre)
my_function("Manuel")
my_function("Agustín")
my_function() my_function("Javier")
Valores de retorno
Para permitir que una función devuelva un valor, use la instrucción return:
Ejemplo
def my_function(x):
return 10 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
Recursion
Python también acepta la recursión de funciones, lo que significa que una función definida puede llamarse a sí misma. La recursión es un concepto matemático y de programación común. Significa que una función se llama a sí misma.
Esto tiene el beneficio de significar que puede recorrer los datos para alcanzar un resultado. El desarrollador debe tener mucho cuidado con la recursión, ya que puede ser bastante fácil escribir una función que nunca termina, o una que utiliza cantidades excesivas de memoria o potencia del procesador.
Sin embargo, cuando se escribe correctamente, la recursión puede ser un enfoque muy eficiente y matemáticamente elegante para la programación. En este ejemplo, tri_recursion () es una función que hemos definido para llamar a sí misma («recurse»).
Usamos la variable k como los datos, los cuales disminuyen (-1) cada vez que repetimos. La recursión finaliza cuando la condición no es mayor que 0 (es decir, cuando es 0). Para un desarrollador nuevo, puede llevarle tiempo descubrir cómo funciona exactamente esto, la mejor manera de averiguarlo es probándolo y modificándolo.
Ejemplo
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else: result = 0
return result
print("\D:\Ejercicio Recursion ejemplo\")
tri_recursion(8)