7.1 Creación de funciones
En Python, la creación de funciones es un aspecto fundamental de la programación, permitiendo que el código sea más modular, reutilizable y legible. Las funciones en Python se definen usando la palabra clave def
, seguida del nombre de la función y paréntesis con parámetros.
Siempre puedes pensar en una función como un conjunto de comandos que se han agrupado y a los que se les ha dado un nombre a ese grupo. La estructura general de declaración de función tiene el siguiente aspecto:
def nombre(parámetros):
comando1
comando2
comandoN
Una función simple en Python podría verse así:
def greet():
print("Hello, World!")
La llamada a la función se realiza escribiendo su nombre con paréntesis:
greet() # Imprimirá: Hello, World!
Llamar a una función equivale a escribir su código interno en el lugar de la llamada. En lugar de escribir el mismo código una y otra vez, se puede extraer en bloques separados y darles un nombre.
7.2 Paso de argumentos a la función
Trabajar con funciones no sería tan interesante si siempre hicieran lo mismo, simplemente un bloque de comandos con nombre y ya. En lugar de eso, se les ocurren parámetros de inmediato, variables a través de las cuales se pueden pasar diferentes valores a la función.
Las variables dentro de las funciones se llaman parámetros de la función. Y los valores que se les pasan en una llamada específica son los argumentos de la función. Los parámetros de la función simplemente reciben los valores de los argumentos.
def greet(name):
print("Hello,", name)
greet("Alice") # Imprimirá: Hello, Alice!
Ejemplo de una función con dos argumentos:
def print_sum(a, b):
print(f"Suma de {a} y {b} es {a + b}")
print_sum(10, 15) # Imprimirá: Suma de 10 y 15 es 25
Y, por supuesto, como argumentos se pueden pasar expresiones completas:
def print_sum(a, b):
print(f"Suma de {a} y {b} es {a + b}")
print_sum(10*10-123, 15//2) # Imprimirá: Suma de -23 y 7 es -16
¡Útil! Para los fans de C/C++ — todas las variables en Python son referencias desde el punto de vista de C++. También los parámetros de la función. Al asignar, el valor nunca se copia o duplica, siempre se asigna solo la referencia.
7.3 La función es un objeto
En Python, las funciones son objetos de primera clase, lo que significa que pueden usarse como cualquier otro objeto. Esto proporciona a los desarrolladores un conjunto de herramientas poderoso para crear soluciones de software flexibles.
Funciones como objetos
Como objetos de primera clase, las funciones en Python pueden ser:
- Asignadas a una variable
- Pasadas como argumentos a otras funciones
- Devueltas desde otras funciones
- Incluidas en estructuras de datos como listas, diccionarios
Ejemplos:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Hello") # llamada a la función
print(greeting)
greet(shout)
En el futuro, tocaremos este tema nuevamente, pero por ahora recuerda que — todo en Python es un objeto. Funciones, clases, errores, listas, módulos — todo.
GO TO FULL VERSION