Conceptos básicos de match y case
Ramifique según patrones de valores
Conceptos básicos de match y case 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.
Coincidencia de patrones estructurales
Python 3.10 introdujo la coincidencia de patrones estructurales mediante la sentencia match. Esta compara un valor con una serie de patrones y ejecuta el primero que coincide, lo que ofrece muchas más posibilidades que encadenar if/elif.
Sintaxis básica
Escriba match seguido del sujeto y, después, uno o más bloques case. Se ejecuta el primer caso que coincida.
command = 'start'
match command:
case 'start':
print('Starting up')
case 'stop':
print('Shutting down')
# prints: Starting upCoincidencia de literales
Los patrones más sencillos son valores literales: números, cadenas, True, False y None. Coinciden cuando el sujeto es igual al literal.
code = 404
match code:
case 200:
print('OK')
case 404:
print('Not Found')
case 500:
print('Server Error')El comodín _
El guion bajo _ es un patrón comodín que coincide con cualquier cosa. Colóquelo al final como valor predeterminado general, igual que else.
code = 418
match code:
case 200:
print('OK')
case _:
print('Unknown status')Combinar con OR
Use el operador | dentro de un caso para coincidir con cualquiera de varios patrones.
code = 301
match code:
case 200 | 201 | 204:
print('Success')
case 301 | 302:
print('Redirect')
case _:
print('Other')Capturar el valor
Un nombre sin más en un patrón captura el sujeto en esa variable. Úselo cuando haya realizado una coincidencia general, pero todavía necesite el valor.
value = 42
match value:
case 0:
print('zero')
case other:
print('got', other)El orden es importante
Los casos se comprueban de arriba abajo y gana la primera coincidencia. Un patrón de captura general colocado demasiado pronto ocultará los casos posteriores y más específicos.
x = 5
match x:
case n: # matches everything first!
print('caught by capture')
case 5:
print('this never runs')Match no devuelve nada
match es una sentencia, no una expresión, por lo que no devuelve ningún valor. Asigne un valor a una variable dentro de los casos si necesita un resultado.
day = 6
label = ''
match day:
case 0 | 6:
label = 'weekend'
case _:
label = 'weekday'
print(label)Coincidencia con None
Puede hacer coincidir None directamente. Esto es más claro que comprobar explícitamente is None dentro de una cadena de condiciones.
def describe(value):
match value:
case None:
return 'nothing'
case _:
return 'something: ' + str(value)
print(describe(None))
print(describe(7))Un distribuidor práctico
La coincidencia de patrones resulta especialmente útil como distribuidor de comandos, ya que convierte una larga cadena de condiciones if en una tabla clara de casos.
def handle(cmd):
match cmd:
case 'help':
return 'Showing help'
case 'quit' | 'exit':
return 'Goodbye'
case _:
return 'Unknown command'
print(handle('exit'))
print(handle('foo'))Coincidencia con True, False y None
Las constantes True, False y None se comparan por identidad, no por igualdad. Esto las convierte en valores únicos fiables para decidir entre ramas.
def report(flag):
match flag:
case True:
return 'enabled'
case False:
return 'disabled'
case None:
return 'unset'
print(report(True))
print(report(None))Comprobación rápida
¿Qué hace el patrón comodín _ en una sentencia match?
Resumen
Ha aprendido a elegir ramas según patrones de valores.
matchcomprueba los casos de arriba abajo; gana la primera coincidencia.- Haga coincidir literales, use
_como patrón general y combine patrones con|. - Un nombre sin más captura el valor.
matches una sentencia, no una expresión.
Preguntas frecuentes
¿La lección «Conceptos básicos de match y case» es gratis?
Sí — el texto completo de «Conceptos básicos de match y case» 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 «Conceptos básicos de match y case»?
Ramifique según patrones de valores 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 «Conceptos básicos de match y case»?
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
- Conceptos básicos de match y case
- Coincidencia de secuencias y mapeos
- Patrones de clases
- Guardas y comodines