1) `def` y `return`: forma básica de una función
Si una función no retorna explícitamente, Python devuelve `None`.
Una diferencia importante: `print(...)` muestra información, `return` entrega un valor para que otra parte del programa lo use.
Cuando confundes `print` con `return`, el código parece funcionar localmente, pero no se puede reutilizar en pipelines o tests.
Piensa la función como una caja negra: entra dato, sale dato. Lo demás es implementación interna.
def area_rectangulo(base: float, altura: float) -> float:
return base * altura
resultado = area_rectangulo(5, 3)
print(resultado)