En Python, _ funciona como patrón comodín en sentencias match ... case y te permite definir una rama por defecto.
Sí, el guión bajo, _, también es una palabra clave suave, pero solo cuando aparece en el último case de una sentencia match. En ese contexto, _ captura cualquier valor que no coincida con los patrones anteriores.
Puedes encontrar el código Python de este artículo en el repositorio de ejemplos de Python Scouts. ¡Te agradeceríamos mucho si nos dejas una estrella (⭐) en el repositorio!
Sintaxis
La sintaxis básica para usar _ como palabra clave suave aparece dentro de una estructura match ... case:
match value:
case "pattern1":
# Acciones para pattern1
case "pattern2":
# Acciones para pattern2
case _:
# Acciones por defecto para cualquier otro valor
En esta sintaxis, case _: actúa como un patrón comodín o catch-all; es decir, captura cualquier valor que no haya coincidido con los patrones anteriores.
El guión bajo, _, se considera palabra clave solo en el contexto de match ... case. Fuera de ese contexto, _ es simplemente un identificador válido, que generalmente se utiliza para indicar que una variable es temporal o descartable.
Ejemplos prácticos
Aquí tienes un ejemplo de cómo puedes usar _ como palabra clave suave en patrones estructurales:
>>> def check_service_status(code):
... match code:
... case 200:
... return "OK"
... case 404:
... return "No encontrado"
... case _:
... return "Cualquier otro estado"
...
>>> check_service_status(200)
'OK'
>>> check_service_status(404)
'No encontrado'
>>> check_service_status(500)
'Cualquier otro estado'
Como puedes ver, _ te permite definir una salida controlada para los casos no contemplados en los case que le preceden.
Uso de _
Los usos principales de _ como palabra clave suave en Python son estos:
- Definir el caso por defecto en bloques
match...case - Ignorar partes no relevantes dentro de patrones de clase
Resumiendo
En Python, _ actúa como palabra clave suave en la coincidencia estructural de match ... case. Su función es representar un comodín que coincide con cualquier valor no capturado por los patrones anteriores.
Al usar _ en ramas por defecto, tu lógica de coincidencia queda más clara, más declarativa y más fácil de mantener.
Puedes encontrar el código Python de este artículo en el repositorio de ejemplos de Python Scouts. ¡Te agradeceríamos mucho si nos dejas una estrella (⭐) en el repositorio!