Mutável ou Imutável?
Em Python, os tipos de dados se dividem em duas categorias: mutáveis e imutáveis.
- Tipos mutáveis podem ser alterados após serem criados;
- Tipos imutáveis não podem ser alterados após a criação — qualquer "alteração" cria um novo objeto na memória.
Tipos Imutáveis
Tipos como int, float, str e tuple são imutáveis. Isso significa que, se você "alterar" uma variável que armazena um desses tipos, o Python na verdade cria um novo objeto internamente.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Mesmo reutilizando o mesmo nome de variável (var1), a função id() mostra que a variável está apontando para um objeto completamente novo após a reatribuição. Isso ocorre porque inteiros são imutáveis — eles não podem ser modificados no local.
Tipos Mutáveis
Por outro lado, tipos como list e dict são mutáveis. Eles podem ser alterados sem criar novos objetos.
Swipe to start coding
Imagine que você está gerenciando o orçamento de um pequeno projeto. Inicialmente, seu orçamento disponível é de $100. Posteriormente, você recebe um financiamento adicional de $50.
Sua tarefa é:
- Exibir o valor inicial de
project_budgete seu ID de memória utilizando a funçãoid(). - Atualizar o valor de
project_budgetpara refletir o valor total. - Exibir o valor atualizado e seu novo ID.
Isso ajudará você a observar como tipos imutáveis como int se comportam quando são reatribuídos.
Após concluir esta tarefa, clique no botão abaixo do código para verificar sua solução.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you give an example of how mutable types behave differently?
What are some common use cases for choosing mutable vs immutable types?
Can you explain why immutability might be useful in programming?
Awesome!
Completion rate improved to 3.03
Mutável ou Imutável?
Deslize para mostrar o menu
Em Python, os tipos de dados se dividem em duas categorias: mutáveis e imutáveis.
- Tipos mutáveis podem ser alterados após serem criados;
- Tipos imutáveis não podem ser alterados após a criação — qualquer "alteração" cria um novo objeto na memória.
Tipos Imutáveis
Tipos como int, float, str e tuple são imutáveis. Isso significa que, se você "alterar" uma variável que armazena um desses tipos, o Python na verdade cria um novo objeto internamente.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Mesmo reutilizando o mesmo nome de variável (var1), a função id() mostra que a variável está apontando para um objeto completamente novo após a reatribuição. Isso ocorre porque inteiros são imutáveis — eles não podem ser modificados no local.
Tipos Mutáveis
Por outro lado, tipos como list e dict são mutáveis. Eles podem ser alterados sem criar novos objetos.
Swipe to start coding
Imagine que você está gerenciando o orçamento de um pequeno projeto. Inicialmente, seu orçamento disponível é de $100. Posteriormente, você recebe um financiamento adicional de $50.
Sua tarefa é:
- Exibir o valor inicial de
project_budgete seu ID de memória utilizando a funçãoid(). - Atualizar o valor de
project_budgetpara refletir o valor total. - Exibir o valor atualizado e seu novo ID.
Isso ajudará você a observar como tipos imutáveis como int se comportam quando são reatribuídos.
Após concluir esta tarefa, clique no botão abaixo do código para verificar sua solução.
Solução
Obrigado pelo seu feedback!
single