Problemas de cierre de Sintaxis de Python — Combina control de flujo, funciones y excepciones
Tres ejercicios de repaso del capítulo de sintaxis: filtrar y elevar al cuadrado con comprensión, safe_divide con try / except y el decorador @double que duplica el retorno.
Problema 1: Filtrar y transformar con una comprensión
Combina un filtro if dentro de una comprensión de lista con el operador de potencia `. Selecciona solo los elementos que cumplen una condición y conviértelos en algo nuevo**: ese es el uso típico de las comprensiones.
Problema 2: Construir una función de división segura con try / except
Escribe safe_divide(a, b) para que no se rompa con un divisor cero. Esto reúne def para definir una función, try / except para capturar una excepción y el uso de return para devolver valores distintos según lo que pasó.
try. Ante un error, el control salta al bloque except que coincide.Problema 3: Modificar el valor de retorno de una función con un decorador
Construye un decorador @double que duplique lo que devuelva la función decorada, sin tocar el cuerpo de la función. Esto te obliga a escribir el patrón de decorador en sí: una función que recibe una función y devuelve una nueva función.
@double equivale a add = double(add).¡Buen trabajo llegando hasta aquí!
Con esto cierras Sintaxis de Python. Has cubierto el control de flujo con condicionales, bucles y excepciones, las definiciones de funciones con def / lambda, las comprensiones, las funciones de orden superior, los decoradores y los generadores: prácticamente todas las herramientas que necesitas para dirigir un programa. Ahora puedes escribir por tu cuenta funciones que toman valores, los transforman y devuelven un resultado.
El siguiente capítulo, Programación orientada a objetos en Python, trata de definir tus propios tipos: escribir class, configurar constructores con __init__, herencia, polimorfismo, encapsulación, métodos especiales como __add__, gestores de contexto con with y type hints. Es la forma de juntar datos y comportamiento en un único diseño.