Imutabilidade de String
Em Python, strings são imutáveis: uma vez criadas, os caracteres que elas contêm não podem ser alterados diretamente. Qualquer "modificação" realizada, na verdade, cria uma nova string. Isso é importante para garantir a correção (evitando alterações acidentais) e para o desempenho (na construção de strings maiores).
Sem Edição Direta
É possível acessar caracteres pelo índice, mas não é permitido atribuir novos valores a eles.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
A maioria dos métodos de string retorna uma nova string e deixa a original inalterada.
12345678# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
O encadeamento é permitido, mas lembre-se de que você está obtendo um novo objeto a cada etapa.
123456# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
"Modificar" Criando uma Nova String
Utilize fatiamento, replace ou concatenação para produzir um novo valor.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
Construção Eficiente
Repetir o uso de + em grandes loops pode ser lento (muitas strings intermediárias). Um padrão comum é coletar partes e juntar tudo de uma vez:
1234# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
Você aprenderá mais padrões de junção/formatação no próximo capítulo.
1. Qual linha tenta modificar uma string no local e resultará em erro?
2. Qual será a saída do código?
3. É necessário montar uma string longa a partir de muitos pequenos pedaços. Qual é a recomendação?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain why string immutability is important in Python?
What are some common mistakes beginners make with string immutability?
Can you show more examples of efficient string building?
Incrível!
Completion taxa melhorada para 3.45
Imutabilidade de String
Deslize para mostrar o menu
Em Python, strings são imutáveis: uma vez criadas, os caracteres que elas contêm não podem ser alterados diretamente. Qualquer "modificação" realizada, na verdade, cria uma nova string. Isso é importante para garantir a correção (evitando alterações acidentais) e para o desempenho (na construção de strings maiores).
Sem Edição Direta
É possível acessar caracteres pelo índice, mas não é permitido atribuir novos valores a eles.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
A maioria dos métodos de string retorna uma nova string e deixa a original inalterada.
12345678# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
O encadeamento é permitido, mas lembre-se de que você está obtendo um novo objeto a cada etapa.
123456# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
"Modificar" Criando uma Nova String
Utilize fatiamento, replace ou concatenação para produzir um novo valor.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
Construção Eficiente
Repetir o uso de + em grandes loops pode ser lento (muitas strings intermediárias). Um padrão comum é coletar partes e juntar tudo de uma vez:
1234# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
Você aprenderá mais padrões de junção/formatação no próximo capítulo.
1. Qual linha tenta modificar uma string no local e resultará em erro?
2. Qual será a saída do código?
3. É necessário montar uma string longa a partir de muitos pequenos pedaços. Qual é a recomendação?
Obrigado pelo seu feedback!