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
Awesome!
Completion rate improved to 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!