Funciones de Python

Una función es un bloque de código que se ejecuta solo cuando se llama.

Puede pasar datos (llamados parámetros) a la función.

Una función puede devolver datos como resultado.

para crear una función

En Python, se utiliza def Palabra clave para definir una función:

Ejemplo

def mi_función():
  print("Hello from a function")

Llamar a la función

Para llamar a una función, use el nombre de la función seguido de paréntesis:

Ejemplo

def mi_función():
  print("Hello from a function")
my_function()

Ejecutar Ejemplo

Parámetros

La información se puede pasar como parámetro a la función.

Los parámetros se especifican dentro de los corchetes después del nombre de la función. Puede agregar la cantidad de parámetros que necesite, simplemente separándolos con comas.

El siguiente ejemplo tiene una función con parámetros (nombrefuncion). Al llamar a esta función, pasamos un nombre y lo utilizamos dentro de la función para imprimir el nombre completo:

Ejemplo

def mi_función(nombrefuncion):
  print(nombrefuncion + " Gates")
mi_función("Bill")
mi_función("Steve")
mi_función("Elon")

Ejecutar Ejemplo

Valores de parámetros predeterminados

El siguiente ejemplo muestra cómo usar valores de parámetros predeterminados.

Si llamamos a la función sin parámetros, se utiliza el valor predeterminado:

Ejemplo

def mi_función(pais = "China"):
  print("Soy de " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Ejecutar Ejemplo

Enviar como lista

Los argumentos que envía a la función pueden ser de cualquier tipo de datos (cadenas, números, listas, diccionarios, etc.) y dentro de la función se considerarán del mismo tipo de datos.

Por ejemplo, si envía una lista como argumento, cuando llega a la función seguirá siendo una lista (lista):

Ejemplo

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Ejecutar Ejemplo

Valor de retorno

Para que la función devuelva un valor, utilice return Instrucción:

Ejemplo

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Ejecutar Ejemplo

Parámetros de clave

También puede usar la sintaxis key = value para enviar argumentos.

El orden de los argumentos no importa.

Ejemplo

def my_function(child3, child2, child1):
  print("El niño más joven es " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Ejecutar Ejemplo

En los documentos de Python, la palabra "parámetro de clave" se abrevia generalmente como kwargs.

Argumentos arbitrarios

Si no sabe cuántos argumentos pasará a su función, agregue * antes del nombre del argumento en la definición de la función.

De esta manera, la función recibirá una tupla de argumentos y podrá acceder a ellos en consecuencia:

Ejemplo

Si no conoce el número de argumentos, agregue * antes del nombre del argumento:

def my_function(*kids):
  print("El niño más joven es " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Ejecutar Ejemplo

Declaración pass

La definición de la función no puede estar vacía, pero si por alguna razón escribió una definición de función sin contenido, utilice la declaración pass para evitar errores.

Ejemplo

def myfunction:
  pass

Ejecutar Ejemplo

Recursividad

Python también acepta la recursión de funciones, lo que significa que las funciones definidas pueden llamarse a sí mismas.

La recursividad es un concepto común en matemáticas y programación. Significa que una función se llama a sí misma. La ventaja de esto es poder acceder iterativamente a los datos para alcanzar el resultado.

Los desarrolladores deben ser muy cuidadosos con la recursividad, ya que es fácil escribir una función que nunca termine o que utilice una cantidad excesiva de memoria o capacidad del procesador. Sin embargo, cuando se escribe correctamente, la recursividad puede ser un método de programación muy efectivo y matemáticamente elegante.

En este ejemplo,tri_recursion() Es una función definida que se llama a sí misma ("recurse"). Utilizamos la variable k como datos y la reducimos en cada recursión (-1). La recursión termina cuando la condición no es mayor que 0 (por ejemplo, cuando es 0).

Para los nuevos desarrolladores, puede llevar tiempo comprender cómo funciona, y lo mejor es probar y modificarlo.

Ejemplo

Ejemplo de recursividad:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nEjemplo de Recursividad")
tri_recursion(6)

Ejecutar Ejemplo