1
resposta

String imutável

Quando foi falado sobre as tuplas foi dito que ela é imutável. Em um exercícios posterior foi dito também que um range e string também seria. A minha dúvida é a seguinte: ser considerável imutável significa que você não consegue modificar, deletar ou inserir algo depois de definir seria isso correto?

Supondo que eu tenha uma string e utilizo o método replace() que é capaz de substituir um determinado elemento por outro, então porque é considerado imutável? será porque seria necessário criar uma nova variável para armazenar o resultado da aplicação do método?

teste = "palavra"
teste.replace("p","v")
'valavra'
1 resposta

Oi Tiago, tudo bem?

As strings são imutáveis, falamos isso geralmente com uma visão mais baixo-nível, lá para o compilador e em relação aos endereços de memória em que elas ficam armazenadas...

Quando você manipula uma string, seja adicionando novos caracteres, substituindo ou removendo, o que de fato acontece é a criação de uma nova string e a variável aonde será atribuída essa modificação passa a apontar para essa nova string.