0Pricing
Python Academy · Lección

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 up

Coincidencia 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.

  • match comprueba 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.
  • match es 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

  1. Conceptos básicos de match y case
  2. Coincidencia de secuencias y mapeos
  3. Patrones de clases
  4. Guardas y comodines
← Volver a Python Academy