Strings (tipo STR) em Python

Atividade 1 – Respostas Diretas

  • Do que se trata o conteúdo? Explicação sobre o tipo de dado str (strings) em Python, sua criação, operadores, funções e métodos.
  • Principais assuntos (exemplos)
    • Definição e criação: nome = 'Marcelo Manusato'
    • Operadores de comparação: nome == 'Marcelo Manusato'True
    • Concatenação: nome + nome2'Marcelo ManusatoJoão da Silva'
    • Repetição: nome * 3'Marcelo ManusatoMarcelo ManusatoMarcelo Manusato'
    • Teste de presença: 'B' in sTrue
    • Comprimento: len(nome)15
    • Indexação: s[0]'A'
    • Fatiamento: s[0:2]'AB'
    • Métodos: nome.upper(), nome.lower(), nome.capitalize()
  • Ponto de maior atenção Indexação começa em 0, o índice final do fatiamento é **exclusivo** e índices negativos contam a partir do final da string.
  • Conclusão Strings são sequências imutáveis de caracteres que podem ser manipuladas por diversos operadores, funções e métodos, sendo fundamentais para o tratamento de texto em Python.

Atividade 2 – Resumo dos Tópicos

  1. Introdução ao tipo STR

    Apresenta o tipo de dado que representa sequências de caracteres, permitindo armazenar textos, espaços, pontuação e símbolos.

    1. Definição

      Variável declarada com aspas simples ou duplas, por exemplo texto = 'algoritmos' ou texto = "algoritmos".

  2. Criação de strings

    Uso de aspas simples ou duplas para delimitar o literal.

    1. Aspas simples

      Ex.: frase = 'Olá, Mundo!'

    2. Aspas duplas

      Ex.: frase = "Olá, Mundo!"

  3. Operadores com strings

    Conjunto de operadores que podem ser aplicados a objetos str.

    1. Atribuição (=)

      Ex.: nome = 'Ana'

    2. Comparação (==, !=, <, >)

      Ex.: nome == 'Ana'True

    3. Concatenação (+)

      Ex.: 'Oi' + ' ' + 'Tudo''Oi Tudo'

    4. Repetição (* com inteiro)

      Ex.: 'Hi' * 3'HiHiHi'

    5. Teste de presença (in)

      Ex.: 'a' in 'banana'True

    6. Operadores não permitidos

      Subtração (-), divisão (/), módulo (%) e potência (**) geram erro quando usados com str.

  4. Funções e métodos úteis

    Ferramentas para analisar e transformar strings.

    1. len()

      Retorna o número de caracteres. Ex.: len('Python')6

    2. Indexação ([])

      Obtém o caractere em posição específica. Ex.: s[0] → primeiro caractere.

    3. Índices positivos e negativos

      Negativos contam a partir do final: s[-1] → último caractere.

    4. Fatiamento ([:])

      Extrai sub‑strings. Ex.: s[1:4] → caracteres nas posições 1,2,3.

      O índice final não é incluído.

    5. Métodos de transformação
      • upper() – converte tudo para maiúsculas.
      • lower() – converte tudo para minúsculas.
      • capitalize() – primeira letra maiúscula, resto minúsculo.
  5. Observações finais

    Strings são imutáveis; toda operação que parece “modificar” na verdade cria uma nova string.

Questões sobre o assunto

Questão 1
1.50 pontos Média

Qual operador deve ser usado para repetir a string "abc" três vezes?

Resposta correta: C) *

O operador * quando usado entre uma string e um inteiro repete a string o número de vezes indicado.

Questão 2
2.50 pontos Difícil

Dada a string s = "Python", qual o resultado da expressão s[-2:]?

Resposta correta: A) "on"

Índice -2 corresponde ao caractere 'o'; o fatiamento até o fim devolve "on".

Questão 3
2.50 pontos Difícil

Qual das afirmações abaixo é FALSA sobre strings em Python?

Resposta correta: A) Strings são mutáveis.

Na verdade, strings são objetos imutáveis; qualquer “modificação” cria uma nova string.

Questão 4
3.50 pontos Extrema

Considere o código abaixo:

s = "DataScience"
t = s[2:8][::-1] * 2

Qual o valor final da variável t?

Resposta correta: C) "eicSateicSat"

Explicação: s[2:8]"taScie"; [::-1] inverte → "eicSat"; multiplicar por 2 → "eicSateicSat".

Pontuação Total
0.00

Texto original

O texto original pode conter falhas de gramática ou de concordância, isso ocorre porque ele foi obtido por um processo de extração de texto automático.
Texto extraído do video Videoaula 7 - Strings

O lá pessoal bem-vindos novamente a nossa disciplina de algoritmos, programação de computadores 1, para o NVSP.
Essa é a nossa videoaula de número 7, onde nós vamos dar a continuidade ao conceito de variáveis.
O NVSP é um tipo de variável que pode representar uma sequência de caracteres.
Vamos entender como funciona.
Além das variáveis do tipo numérico que nós já vimos, o int, o fluch, e até usamos um tipo lógico que é o bu, que é um tipo que possui apenas valores True ou Fals.
A etó permite também definir variáveis de tipos mais complexos entre eles, que é representado por STR como está aqui.
Então o tipo STR é usado para representar imanipular textos ou uma sequência de caracteres, incluindo onde você pode ter no meio ali dentro, espaços em branco, pontuação e outros símbolos diferentes também.
Uma string criada com uma sequência de caracteres, e aí você vai fazer isso envolvendo ela usando as aspas.
Essas aspas podem ser simples ou duplas.
Supondo que eu tenha uma string A, e eu vou dar um valor a essa string que é algoritmos e programação.
Então eu envolvo uma string entre aspas, neste caso estou envolvendo com aspas simples, depois eu consigo recuperar aquela variável e o interpretador vai me retornar exatamente aquele texto que eu inicializei a variável.
Então vamos ver aqui mais alguns outros exemplos, a gente partir para os operadores.
Então eu posso definir aqui uma variável nome e vou colocar, vou atribuir um valor a essa variável, podendo ser por exemplo um Marcelo Manusato.
Então eu atribuir esse objeto string A, a minha variável nome, consigo recuperar o conteúdo dessa variável, o meu interpretador me retorra aquele texto.
Bom, o que eu posso fazer? Eu posso usar alguns operadores com essas string.
Então a gente viu aqui o operador de atribuição, estou atribuindo a minha string A, a minha variável S, consigo também verificar se o conteúdo de uma string é igual a uma string que eu passo aqui deste lado.
Então eu posso, por exemplo, vamos ver aqui no nosso exemplo, verificar se nome é igual a Marcelo Manusato.
Então ele vai me retornar a verdadeiro neste caso.
Se eu fizer esse, por exemplo, nome é igual a Marcelo, ele vai me retornar falso porque é diferente.
Então eu posso usar também o próprio operador de diferente, isto aqui é diferente de abc, ele vai me retornar verdadeiro.
Eu posso também, pessoal, fazer usar expressões, outras expressões relacionais, como, por exemplo, o menor ou o maior.
Então eu estou definindo aqui uma outra variável T que recebe, por exemplo, D e F, e eu vou verificar se S é menor do que T.
Nesse caso, ele vai simplesmente verificar se S está numa ordem alfabética que antecede a variável T.
Por exemplo, o nosso programa aqui, se eu tenho um outro nome 2 igual a João, por exemplo, João da Silva, e eu faço nome é menor do que nome 2.
Isso aqui vai me retornar falso porque nome 2 começa com J, nome começa com M, então o nome 2 ele precede o nome.
Bom, posso também fazer concatenação de stringes.
Então, o senão de mais, quando usado com variáveis do tipo string, eu vou concatenar elas.
Então, no caso, aqui se eu faço nome mais nome 2, isso me retorna, Marcelo Manzato, João da Silva, então ele pega a segunda string e concatena no final da primeira.
Se eu fizer, alguns operadores, pessoal, eu não consigo utilizar com stringes.
Então, por exemplo, S vezes T, quer dizer, o senão, o operador de multiplicação, quando eu tenho dois operanos do tipo string, eu não consigo usar.
Mas eu consigo usar quando um dos operadores é um inteiro.
Tem que ser inteiro.
Nesse caso, ele vai simplesmente multiplicar aquela string pela quantidade de vezes que você está setando lá pelo número que você colocou lá como um dos operandos.
Então, se eu tenho um nome que é Marcelo Manzato e eu fizer nome vezes 5, ele vai concatenar 5 vezes essa string e vai me retornar.
Bom, posso também.
.
.
Olha só o que eu estou fazendo.
Eu estou verificando se o caracter B está contido na string S.
A minha string essa daqui, desse lado.
E eu estou verificando Cb está contido naquela string.
Ele vai me retornar verdadeiro porque o CH, variável CH é o valor B, que está contido aqui nessa posição lá da minha string S.
E se o CH é um STR de B, na verdade, ele é, porque isso daqui é como se você tivesse inicializado o criado uma string com um único caracter que é o B.
E aí você verifica se CH é um STR de B.
E ele é de fato.
Tá bom? Bom, alguns outros operadores, pessoal, não podem ser utilizados com strings.
É o caso, por exemplo, da subtração, da divisão, do consciente, do resto, da divisão e da potência.
Então, esses operadores você não consegue utilizar com strings.
Aí a gente tem alguns outros operadores que são importantes como a função LEM que retorna o tamanho da string.
Então, se eu tenho que nome é Marcelo Monsato e o retorno LEM de nome, isso daqui me retorna 15, que é a quantidade de caracteres que eu tenho nessa string nome.
E outra coisa também importante é o operador de indexação que a gente usa os coxetes.
E dentro desses coxetes, a gente coloca os índices para poder acessar caracteres específicos da stringa que estão na posição que você determina pelos índices.
Vamos ver aqui alguns exemplos.
Então, supondo que eu tenho a minha string A, B, C, D, O LEM de S é 4, porque eu tenho 4 caracteres aqui.
Olha só, o operador aqui de indexação, seu faço S de zero, quer dizer que esse zero aqui é um número que referência à posição da string que eu quero acessar.
Então, se eu tenho o A, B, C, D, eu tenho as posições, sempre inicializando com zero, está isso é importante.
Eu tenho a posição zero, posição um, posição dois e a posição três.
Então, esse de zero, eu estou acessando exatamente esse caracter, A, que está aqui.
O S de três vai me retornar o caracter D que está lá no index três.
Exatamente esse.
Bom, S de LEM de S, pessoal, o LEM de S a gente já viu que vale 4.
Se eu tentar fazer S de 4, isso aqui vai me retornar um erro, porque, porque a minha string S, ela vai apenas até três.
Vai dizer, A3.
Então, o S de 4 estaria aqui nessa próxima posição, só que eu não tenho ela.
Então, por isso que vai me dar uma mensagem de eu.
Eu posso, apesar disso, usar índices negativos para poder acessar o final ou o lado direito da string.
Então, olha só, se eu tenho a minha string A, B, C e D, os índices normais seriam zero, um, dois e três.
Agora, índices negativos, eu vou pegar o lado direito para a esquerda.
Então, eu teria o menos um, o menos dois, o menos três, e o menos quatro.
Então, se eu faço o S de menos um, eu estou acessando exatamente essa posição que está aqui, que é o caráquiter D.
O S de menos dois é essa posição que está aqui, que é o caráquiter C.
Reparem também o que eu soufizia, então, o S de menos um é igual a S de três.
Vocês podem consultar isso no interpretador, isso aqui vai te dar ver deiro.
O S de menos cinco, ele vai dar um erro pelo mesmo motivo, porque o menos cinco estaria aqui nessa posição.
E como não tem, ele vai te dar um mensagem de eu, não vai conseguir acessar.
A gente pode também acessar sub-estringe, quer dizer, parte de uma estringe usando essa indexação.
E isso a gente faz usando o dois pontos.
Então, aqui eu tenho a minha posição inicial.
E aqui eu tenho a minha posição final.
Então, se eu tenho a minha estringe A, B, C, D, e eu tenho os 0, 1, 2, e 3, se eu quero acessar de 0 a 2, eu vou pegar aqui de 0 a 2.
Lembrando que esse último índice aqui não é inclusivo.
Então, na verdade, você para no 2, só que você não vai considerar aquele último o caráquiter.
Então, ele vai te retornar a B.
Olha só esse outro exemplo aqui que ele é um pouquinho mais difícil.
Eu tenho a B, C e D, tenho os meus índices negativos que vão de menos 1, menos 2, menos 3, e menos 4.
Aí eu tenho que a minha posição inicial é o menos 4, que é o caráquiter A.
E a minha posição final é o menos 2, que é o caráquiter C.
Escoindo o C, eu tenho a B, que é o que está sendo retornado aqui.
Quando a gente não considera, pessoal, o índice aqui nos dois pontos, ele pega o do início.
E se for no final, quer dizer, eu não considero a posição final, ele vai até o fim.
Então, se eu vou fazer do início até o 3, eu vou pegar, então, que nem está aqui.
Do início até o 3, excluindo, esse 3, eu vou ter a meu A, B, C, que é esse caráquiter aqui.
E nesse caso, se eu pego S, de menos 1, 2 pontos, até o fim, essa daqui é a minha posição inicial, que é o próprio D, que está aqui.
E até o final, quer dizer, até ele mesmo, então, ele vai me retornar D.
Está certo? Muito bem.
Então é isso.
Aí, a gente tem também alguns métodos úteis para manipular strings.
Então, a gente vai ver melhor isso aqui com calma, mas eu vou só mostrar para vocês alguns exemplos.
Então, vamos pegar aqui, por exemplo, a função Uper, por exemplo, que ela substituí todos os caracteres Gs em maiúscula.
Então, eu posso, vim aqui, eu tenho o meu nome, seu faço nome ponto Uper entre parênteses.
Isso daqui vai me retornar todos os caracteres em litra maiúscula.
Se eu quero, por exemplo, capitalizar que é essa função que está aqui, substituir o primeiro caracter Ds em maiúscula.
Então, o nome, na verdade, ele não vai funcionar, mas eu posso fazer esse nome, recebe o nome ponto Lour.
Quer dizer, eu vou transformar todo mundo em litra minúscula.
Está certo? E se eu fizer nome ponto capitalize, ele vai transformar a primeira litra da string em maiúscula.
Entre outras funções, que vocês podem testar no interpretador de vocês.
Sugiro que vocês façam isso para ver o que acontece em cada função.
E, mais informações sobre essas funções, vocês podem também encontrar na referência, no livro que é usado como o livro texto da disciplina.
E, basicamente, é isso sobre strings.
A gente viu, então, como usa essas informações dos conceitos, mais básicos de strings.
Essa foi a última visual da semana 2.
Na próxima semana, a gente vai de fato, agora, aí sim, começar a desenvolver os nossos programas na linguagem Python, usando meus conceitos de variáveis, de stringes, expressões, lógicas, aritméticas, e assim por diante.
Então, obrigado pela atenção de vocês.
A gente se encontra em uma próxima oportunidade pela próxima.