Todas as variáveis em python contêm uma instância de um objeto. Existem dois tipos de objetos em python, ou seja, objetos mutáveis e objetos imutáveis. Sempre que um objeto é instanciado, é atribuído a ele um id único objeto. O tipo do objeto é definido no momento da execução e não pode ser alterado posteriormente. Contudo, o seu estado pode ser alterado se for um objecto mutável.
Para resumir a diferença, os objetos mutáveis podem modificar seu estado ou conteúdo e os objetos imutáveis não podem modificar seu estado ou conteúdo.
Conclusão
- Objectos mutáveis e imutáveis são tratados de forma diferente em python. Objetos imutáveis são mais rápidos de acessar e são caros de mudar porque envolve a criação de uma cópia.
Onde objetos mutáveis são fáceis de mudar. - O uso de objetos mutáveis é recomendado quando há necessidade de mudar o tamanho ou o conteúdo do objeto.
- Exceção : Entretanto, há uma exceção na imutabilidade também. Sabemos que o tuple em python é imutável. Mas o tuple consiste numa sequência de nomes com ligações imutáveis aos objectos.
Considerar um tupletup = (, 'myname')
O tuple consiste numa string e numa lista. As strings são imutáveis, por isso não podemos alterar o seu valor. Mas o conteúdo da lista pode mudar. O tuple em si não é mutável, mas contém itens que são mutáveis.
Como regra geral, os tipos semelhantes a Primitivos são provavelmente imutáveis e os tipos de Contentores Personalizados são na sua maioria mutáveis.
Geek de atenção! Fortaleça suas bases com o Curso Básico de Programação Python e aprenda o básico.
Para começar, suas preparações para entrevistas Melhore seus conceitos de estruturas de dados com o Curso Python DS.