09. 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.
Exercise 1
Answer
Essas funções especiais chamamos de métodos
.
Até o momento já vimos alguns desses métodos como .append()
e .format()
.
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
.
Exercise 2
Answer
Foi impresso 8
.
Exercise 3
Answer
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.
Exercise 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'
.
Exercise 5
Answer
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 '*'
.
Exercise 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).
Exercise 7
Exercise 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']
.
Exercise 9
Answer
Foi impresso ['Developer', 'Life']
.
Quando não passamos nenhum argumento para o método split
, os caracteres em branco serão utilizados como delimitadores.
Exercise 10
Answer
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.
Exercise 11
Answer
Foi impresso ['D', 'v', 'lop', 'r Lif', '']
.
Exercise 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'
.
Exercise 13
Answer
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'
.
Exercise 14
Answer
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'
.
Fatiamento de strings e listas#
Vamos ver como funciona a operação de fatiamento. Clique aqui