Sobes.tech
Junior — Middle

Qual é a característica da imutabilidade das strings em Python e por que elas não podem ser alteradas após serem criadas?

sobes.tech IA

Resposta da IA

No Python, as strings são objetos não modificáveis (immutable). Isto significa que, uma vez criada uma string, o seu conteúdo não pode ser alterado.

Razões para esta característica:

  • Otimização de memória e desempenho. A imutabilidade permite a internização de strings — armazenar uma única cópia de strings iguais na memória, o que economiza recursos.
  • Segurança e previsibilidade. Se as strings não podem ser alteradas, isso previne alterações acidentais ou indesejadas nos dados, especialmente ao passar strings entre funções.

Por exemplo, ao tentar modificar diretamente um carácter de uma string:

s = "hello"
s[0] = 'H'  # Erro TypeError: 'str' object does not support item assignment

Para alterar uma string, é necessário criar uma nova:

s = "hello"
s = 'H' + s[1:]  # Agora s == "Hello"

Assim, as strings em Python são implementadas como objetos imutáveis para melhorar a eficiência e a segurança do código.