Funciones de primera clase
Pase y devuelva funciones
Funciones de primera clase es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
Las funciones son objetos
En Python, las funciones son objetos de primera clase. Se pueden asignar a variables, almacenar en estructuras de datos, pasar como argumentos y devolver desde otras funciones, igual que los números o las cadenas.
def greet():
return 'hi'
print(type(greet))
print(greet())Asignar funciones a variables
El nombre de una función es solo una referencia. Asígnelo a otro nombre y llámelo mediante ese nombre; no utilice paréntesis al referirse a la función en sí.
def shout(text):
return text.upper()
yell = shout
print(yell('hello'))Funciones en estructuras de datos
Puede almacenar funciones en listas o diccionarios, buscarlas y llamarlas de forma dinámica.
def add(a, b):
return a + b
def sub(a, b):
return a - b
ops = {'+': add, '-': sub}
print(ops['+'](10, 4))
print(ops['-'](10, 4))Pasar funciones como argumentos
Una función que recibe otra función como parámetro se denomina función de orden superior. La función que se pasa es el argumento.
def apply(func, value):
return func(value)
print(apply(str.upper, 'cat'))
print(apply(len, 'cat'))map utiliza funciones de primera clase
Las funciones integradas como map se basan en pasar funciones de un lado a otro. En este caso, se aplica una función a cada elemento.
def square(n):
return n * n
result = list(map(square, [1, 2, 3, 4]))
print(result)filter recibe un predicado
filter conserva los elementos para los que la función proporcionada devuelve True. La función decide qué elementos permanecen.
def is_even(n):
return n % 2 == 0
print(list(filter(is_even, range(10))))Devolver una función
Una función puede devolver otra función. Después, la función devuelta se puede llamar por separado.
def get_greeter():
def greeter(name):
return 'Hello ' + name
return greeter
f = get_greeter()
print(f('Ada'))Funciones como claves de ordenación
sorted acepta una función key que asigna a cada elemento un valor utilizado para establecer el orden.
words = ['banana', 'fig', 'cherry']
by_length = sorted(words, key=len)
print(by_length)Lambdas como funciones rápidas
Una lambda es una función anónima pequeña. Es perfecta para utilizarla una sola vez como argumento.
nums = [5, 1, 4, 2]
print(sorted(nums, key=lambda x: -x))Las funciones tienen atributos
Como las funciones son objetos, tienen atributos como __name__ y una cadena de documentación en __doc__.
def hello():
'Says hello.'
return 'hi'
print(hello.__name__)
print(hello.__doc__)Crear una tabla de despacho
Al combinar estas ideas, puede crear una tabla de despacho limpia que elija una función por nombre, sin largas cadenas de if/elif.
def start():
return 'starting'
def stop():
return 'stopping'
actions = {'start': start, 'stop': stop}
command = 'start'
print(actions[command]())Comprobación rápida
¿Qué significa que las funciones sean de primera clase en Python?
Repaso: funciones de primera clase
Ha aprendido que en Python:
- Las funciones son objetos que se pueden asignar, almacenar, pasar y devolver.
- Las funciones de orden superior reciben o devuelven otras funciones (la clave de
map,filterysorted). lambdacrea funciones anónimas rápidas.- Esto permite crear tablas de despacho limpias en lugar de largas estructuras condicionales.
ops = {'double': lambda x: x * 2}
print(ops['double'](21))Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 76
- Lecciones
- 320
Preguntas frecuentes
¿La lección «Funciones de primera clase» es gratis?
Sí — el texto completo de «Funciones de primera clase» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Funciones de primera clase»?
Pase y devuelva funciones Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Funciones de primera clase»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Funciones de primera clase
- Clausuras y variables libres
- nonlocal y estado mutable
- Funciones parciales