Cuando empecé a trabajar en python, me volví perezoso con la "asignación única", y necesito recordármelo. Deberías esforzarte por nunca reasignar o actualizar una variable fuera de cálculos iterativos verdaderos en bucles. Tener todos los cálculos intermedios aún disponibles es útil en el depurador, y evita problemas donde mueves un bloque de código y utiliza silenciosamente una versión de la variable que no era la que originalmente tenía. En C/C++, hacer casi cada variable const en la inicialización es una buena práctica. Ojalá fuera el valor predeterminado, y mutable fuera una palabra clave.