Quando comecei a trabalhar em python, fiquei preguiçoso com a "atribuição única" e preciso me lembrar disso. Você deve se esforçar para nunca reatribuir ou atualizar uma variável fora de cálculos iterativos verdadeiros em loops. Ter todos os cálculos intermediários ainda disponíveis é útil no depurador e evita problemas onde você move um bloco de código e ele silenciosamente usa uma versão da variável que não era a que originalmente tinha. Em C/C++, tornar quase todas as variáveis const na inicialização é uma boa prática. Eu gostaria que fosse o padrão, e mutable fosse uma palavra-chave.