Strings e Fatiamento#
Métodos de uma string#
O que são métodos?#
Quando trabalhamos com listas sabemos que é possível usar o .append()
para adicionar um elemento. O Python sabe em qual lista ele deve adicionar o novo elemento porque o .append()
é sempre precedido pelo nome da lista. Por exemplo:
O número 5 será adicionado à lista1
, pois o append(5)
está associado a ela através do ponto (.
). Esse tipo especial de funções é o que chamamos de método (lembre-se que normalmente os argumentos de uma função são passados dentro dos parênteses). Por enquanto isso é tudo o que precisamos saber sobre um método: é uma função especial que está associada a um objeto (no caso uma lista) específico. Trabalharemos um pouco mais com métodos durante o projeto utilizando o Pygame.
Exercício 1
Resposta
Essas funções especiais chamamos de métodos
.
Até o momento já vimos alguns desses métodos como o .append()
.
Alguns métodos de strings#
Vimos em aulas anteriores que é possível criar uma nova string a partir de outras duas strings usando o +
: 'abcd' + 'efgh'
vai gerar a string 'abcdefgh'
. Assim, não precisamos do .append()
(de fato, ele nem funciona para strings). Mas existem diversos métodos específicos de strings que podem ser bastante úteis. Uma lista completa pode ser encontrada na documentação, mas vamos focar em alguns métodos principais:
Método find
#
O método que retorna a posição da primeira ocorrência de uma dada string em outra. Se não encontrou, retorna -1. Por exemplo: 'abcde'.find('c')
devolve o número 2
.
Exercício 2
Resposta
Foi impresso 8
.
Exercício 3
Resposta
Foi impresso 1
.
Quando a string possui mais de uma ocorrência da letra que estamos procurando, o método retorno o índice da primeira ocorrência encontrada.
Exercício 4
Método replace
#
O método que recebe duas strings e retorna uma nova string com todas as ocorrências da primeira substituídas pela segunda. Por exemplo: 'abcba'.replace('b', 'd')
devolve a string 'adcda'
.
Exercício 5
Resposta
Foi impresso 'D*v*lop*r Lif*'
. O método replace retorna uma nova string, onde todas as ocorrências da letra 'e'
foram trocadas por '*'
.
Exercício 6
Método strip
#
O método que não recebe nenhum argumento e retorna uma nova string removendo os caracteres em branco (incluindo o caractere especial '\n'
) de ambas as pontas. Por exemplo: ' uma frase \n'.strip()
devolve a string 'uma frase'
(note que o espaço do meio não é removido).
Exercício 7
Exercício 8
Método split
#
O método que recebe uma string delimitadora (ex: ','
) e retorna uma lista formada pela separação da string original pelo delimitador. Por exemplo: 'uma palavra, outra palavra, última palavra'.split(',')
devolve a lista ['uma palavra', ' outra palavra', ' última palavra']
. Se nenhum argumento for utilizado o delimitador utilizado será o espaço em branco. Por exemplo: 'palavras separadas por espaço'.split()
devolve a lista de strings ['palavras', 'separadas', 'por', 'espaço']
.
Exercício 9
Resposta
Foi impresso ['Developer', 'Life']
.
Quando não passamos nenhum argumento para o método split
, os caracteres em branco serão utilizados como delimitadores.
Exercício 10
Resposta
Foi impresso ['Deve', 'loper', 'Li', 'fe']
Quando não passamos nenhum argumento para o método split
, os caracteres em branco serão utilizados como delimitadores.
Note que, o caractere especial '\n'
também é utilizado como delimitador.
Exercício 11
Resposta
Foi impresso ['D', 'v', 'lop', 'r Lif', '']
.
Exercício 12
Método join
#
O método que recebe uma lista de strings e retorna uma única string separada pelo delimitador. Por exemplo: ' '.join(['a', 'b', 'c'])
devolve a string 'a b c'
. Outro exemplo: ','.join(['a', 'b', 'c'])
devolve a string 'a,b,c'
.
Exercício 13
Resposta
Foi impresso 'Developer Life'
.
O código 'e'.join(lista)
define o caractere 'e'
como delimitador e esse delimitador será colocado entre as strings da lista, gerando a string 'Developer Life'
.
Exercício 14
Resposta
Foi impresso 'abacaxibananacaqui'
.
O código ''.join(frutas)
define o caractere ''
como delimitador e esse delimitador será colocado entre as strings da lista frutas
, gerando a string 'abacaxibananacaqui'
.
Exercício 15
Resposta
Resposta errada
Resposta correta
Fatiamento de strings e listas#
Vamos ver como funciona a operação de fatiamento. Clique aqui