Funciones de Python
- Página Anterior Bucle For de Python
- Página Siguiente Lambda 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()
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")
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")
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)
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))
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")
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")
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
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)
- Página Anterior Bucle For de Python
- Página Siguiente Lambda de Python