Buscar

Manipulando Strings em Python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

"Strings" 
www.pythonlearn.com 
•  Uma “string” é uma sequência de 
caracteres; 
•  Uma string é representada (delimitada) por 
aspas: 
'Alô' ou “Alô”; 
•  Para strings, o operador “+” significa 
“concatenar”; 
•  Quando uma string contém números, ela 
continua sendo uma string; 
•  Nós podemos converter números que 
compõem uma string para números 
usando os métodos int() ou float() 
Tipo de Dado "String" >>> str1 = "Alo" 
>>> str2 = 'voce' 
>>> bob = str1 + str2 
>>> print(bob) 
Alovoce 
>>> str3 = '123' 
>>> str3 = str3 + 1 
Traceback (most recent call 
last): File "<stdin>", line 1, 
in <module>TypeError: cannot 
concatenate 'str' and 'int' 
objects 
>>> x = int(str3) + 1 
>>> print(x) 
124 
>>> 
•  Nós lemos os dados usando strings e 
então convertemos os dados conforme a 
necessidade; 
 
•  Isso nos dá maior controle diante de 
situações de erro e/ou informações 
fornecidas pelo usuário; 
 
•  Números recebidos pelo comando 
input() são considerados strings e devem 
ser convertidos para números usando 
int() ou float(). 
Lendo e Convertendo >>> nome = input('Entre: ') 
Entre: Chuck 
>>> print(nome) 
Chuck 
>>> apple = input('Entre: ') 
Entre: 100 
>>> x = apple – 10 
Traceback (most recent call last): 
File "<stdin>", line 1, in 
<module>TypeError: unsupported 
operand type(s) for -: 'str' and 
'int' 
>>> x = int(apple) – 10 
>>> print(x) 
90 
Inspecionando Strings 
•  Nós podemos acessar qualquer 
caractere em uma string utilizando 
um índice entre colchetes 
•  O índice deve ser um número inteiro 
e a contagem começa por 0 (zero) 
•  O índice pode ser uma expressão 
que deve ser computada 
>>> fruit = 'banana' 
>>> letter = fruit[1] 
>>> print(letter) 
a 
>>> n = 3 
>>> w = fruit[n - 1] 
>>> print(w) 
n 
0 
b 
1 
a 
2 
n 
3 
a 
4 
n 
5 
a 
Começando do Final 
•  Podemos começar contando do final 
da string (pouco usual) 
•  Devemos usar um índice negativo 
•  A contagem a partir do final da string 
começa em -1 
•  A forma mais intuitiva é começar a 
contagem do começo da string (slide 
anterior) 
>>> fruit = 'banana' 
>>> letter = fruit[-6] 
>>> print(letter) 
b 
>>> n = -3 
>>> w = fruit[n - 1] 
>>> print(w) 
n 
-6 
b 
-5 
a 
-4 
n 
-3 
a 
-2 
n 
-1 
a 
0 1 2 3 4 5 
Um Caractere Muito Distante 
•  Você receberá uma 
mensagem de erro se tentar 
acessar um índice além do 
final da string 
•  Cuidado ao construir índices e 
intervalos 
>>> zot = 'abc' 
>>> print(zot[5]) 
Traceback (most recent call 
last): File "<stdin>", line 
1, in <module>IndexError: 
string index out of range 
>>> 
Strings Possuem Tamanho 
•  A função do Python len retorna o 
tamanho de uma string >>> fruit = 'banana' 
>>> print(len(fruit)) 
6 
0 
b 
1 
a 
2 
n 
3 
a 
4 
n 
5 
a 
Função Len 
>>> fruit = 'banana' 
>>> x = len(fruit) 
>>> print(x) 
6 
len() 
function 
'banana' 
(a string) 
6 
(a number) 
Iterando Strings 
•  Utilizando o comando while, 
uma varíavel de iteração, e 
a função len, nós podemos 
construir um loop para 
inspecionar cada letra em 
uma string 
•  Passo a passo: 
https://goo.gl/oqZMtk 
fruit = 'banana' 
index = 0 
while index < len(fruit): 
 letter = fruit[index] 
 print(index, letter) 
 index = index + 1 
0 b 
1 a 
2 n 
3 a 
4 n 
5 a 
Iterando Strings 
•  Utilizando o comando for 
fica muito mais elegante 
•  Passo a passo: 
https://goo.gl/nog9ur 
b 
a 
n 
a 
n 
a 
fruit = 'banana' 
for letter in fruit: 
 print(letter) 
Iterando Strings 
•  Utilizando o comando for 
fica muito mais elegante 
index = 0 
while index < len(fruit) : 
 letter = fruit[index] 
 print(letter) 
 index = index + 1 
fruit = 'banana' 
for letter in fruit : 
 print(letter) 
b 
a 
n 
a 
n 
a 
Iterando e Contando 
•  Um loop simples para 
verificar cada caractere 
individual e verificar 
quantos são iguais ao 
caractere 'a’ 
•  Passo a passo: 
https://tinyurl.com/y2dqwhfs 
word = 'banana' 
count = 0 
for letter in word : 
 if letter == 'a' : 
 count = count + 1 
print(count) 
Iterando Utilizando o in 
•  A variável de iteração 
“itera” através da 
sequência (conjunto 
ordenado) 
•  O bloco de código é 
executado uma vez para 
cada valor na (in) 
sequência 
•  A variável de iteração 
move através de todos os 
valores na (in) sequência 
for letter in 'banana’: 
 print(letter) 
Variável de 
iteração 
String de 6 caracteres 
Fim? 
Sim 
print(letter) 
Avança letra 
for letter in 'banana' : 
 print(letter) 
b a n a n a 
•  A variável de iteração “itera” através da sequência e o 
bloco de código é executado uma vez para cada valor na 
(in) sequência 
Não 
•  Nós também podemos 
inspecionar um pedaço 
contínuo de uma string 
utilizando o operador : 
(slicing) 
•  O segundo número é não 
inclusivo 
•  Se o segundo número for 
maior que o tamanho da 
string, ele para no final da 
string Slicing Strings 
>>> s = 'Monty Python' 
>>> print(s[0:4]) 
Mont 
>>> print(s[6:7]) 
P 
>>> print(s[6:20]) 
Python 
0 
M 
1 
o 
2 
n 
3 
t 
4 
y 
5 
 
6 
P 
7 
y 
8 
t 
9 
h 
10 
o 
11 
n 
•  Se omitirmos o primeiro ou 
o último valor do intervalo, 
então assume-se o início 
ou o final da string, 
respectivamente 
Slicing Strings 
>>> s = 'Monty Python' 
>>> print(s[:2]) 
Mo 
>>> print(s[8:]) 
thon 
>>> print(s[:]) 
Monty Python 
0 
M 
1 
o 
2 
n 
3 
t 
4 
y 
5 
 
6 
P 
7 
y 
8 
t 
9 
h 
10 
o 
11 
n 
•  É possível usar números 
negativos no slicing 
também (pouco usual) 
Slicing Strings 
>>> s = 'Monty Python' 
>>> print(s[:-7]) 
Monty 
>>> print(s[-6:]) 
Python 
>>> print(s[-6:-4]) 
Py 
>>> print(s[-1:-12]) 
 
0 
M 
1 
o 
2 
n 
3 
t 
4 
y 
5 
 
6 
P 
7 
y 
8 
t 
9 
h 
10 
o 
11 
n 
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 
•  Existe um terceiro 
parâmetro no slicing, o 
stride (passo) 
 
•  Quantos caracteres você 
deseja avançar após 
recuperar cada caractere 
da string original 
Slicing Strings 
>>> s = 'Monty Python' 
>>> print(s[0:12:2]) 
MnyPto 
>>> print(s[::3]) 
MtPh 
>>> print(s[-12:-7:-1]) 
 
>>> print(s[-1:-13:-1]) 
nohtyP ytnoM 
>>> print(s[::-1]) 
nohtyP ytnoM 
 
0 
M 
1 
o 
2 
n 
3 
t 
4 
y 
5 
 
6 
P 
7 
y 
8 
t 
9 
h 
10 
o 
11 
n 
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 
Concatenação de Strings 
•  Quando o operador + é 
aplicado a strings, ele é 
"concatenação" 
>>> a = 'Hello' 
>>> b = a + 'There' 
>>> print(b) 
HelloThere 
>>> c = a + ' ' + 'There' 
>>> print(c) 
Hello There 
>>> 
Usando in como um operador 
•  A palavra reservada in 
pode ser utilizada para 
verificar se uma string 
está contida em outra 
•  A expressão in é uma 
expressão lógica e 
retorna True ou False e 
também pode ser 
utilizada em comandos if 
>>> fruit = 'banana’ 
>>> 'n' in fruit 
True 
>>> 'm' in fruit 
False 
>>> 'nan' in fruit 
True 
>>> if 'a' in fruit : 
... print('Found it!’) 
... 
Found it! 
>>> 
Comparação de Strings 
if word == 'banana': 
 print('All right, bananas.’) 
 
if word < 'banana': 
 print('Your word,' + word + ', comes before banana.’) 
elif word > 'banana': 
 print('Your word,' + word + ', comes after banana.’) 
else: 
 print('All right, bananas.’) 
Biblioteca String 
•  Python possui um grande número 
de funções para manipular strings 
•  Essas funções já estão presentes 
em todas as strings – nós 
chamamos essas funções 
simplesmente adicionando o nome 
da função à string 
•  Essas funções não modificam a 
string. Elas retornam uma nova 
string modificada 
>>> greet = 'Hello Bob' 
>>> zap = greet.lower() 
>>> print(zap) 
hello bob 
>>> print(greet) 
Hello Bob 
>>> print('Hi There'.lower()) 
hi there 
>>> 
http://docs.python.org/lib/string-methods.html 
>>> stuff = 'Hello world’ 
>>> type(stuff)<type 'str'> 
>>> dir(stuff) 
['capitalize', 'center', 'count', 'decode', 'encode', 
'endswith', 'expandtabs', 'find', 'format', 'index', 
'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 
'istitle', 'isupper', 'join', 'ljust', 'lower', 
'lstrip', 'partition', 'replace','rfind', 'rindex', 
'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 
'splitlines', 'startswith', 'strip', 'swapcase', 
'title', 'translate', 'upper', 'zfill'] 
http://docs.python.org/lib/string-methods.html 
str.capitalize() 
str.center(width[, fillchar]) 
str.endswith(suffix[, start[, end]]) 
str.find(sub[, start[, end]]) 
str.lstrip([chars]) 
str.replace(old, new[, count]) 
str.lower() 
str.rstrip([chars]) 
str.strip([chars]) 
str.upper() 
http://docs.python.org/lib/string-methods.html 
Biblioteca String 
Procurando uma String 
•  Usamos a função find() para 
procurar uma substring dentro de 
outra string 
•  find() procura a primeira 
ocorrência da substring 
•  Se a substring não for encontrada, 
find() retorna -1 
•  Lembre-se que os índices 
começam em 0 (zero) 
>>> fruit = 'banana' 
>>> pos = fruit.find('na') 
>>> print(pos) 
2 
>>> aa = fruit.find('z') 
>>> print(aa) 
-1 
0 
b 
1 
a 
2 
n 
3 
a 
4 
n 
5 
a 
Fazendo tudo MAIÚSCULO 
•  Você pode fazer uma cópia de 
uma string em minúsculo (lower 
case) ou maiúsculo (upper 
case) 
•  Normalmente, quando estamos 
procurando por uma string com 
o find(), primeiro nós 
convertemos a string para 
minúsculo (o case não é 
importante) 
>>> greet = 'Hello Bob' 
>>> nnn = greet.upper() 
>>> print(nnn) 
HELLO BOB 
>>> www = greet.lower() 
>>> print(www) 
hello bob 
>>> 
Procurar e Substituir 
•  A função replace() é 
como uma operação de 
“procurar e substituir” 
de um processador de 
texto 
•  Ela substitui todas as 
ocorrências da string 
sendo procurada pela 
string de substituição 
>>> greet = 'Hello Bob' 
>>> nstr = greet.replace('Bob','Jane') 
>>> print(nstr) 
Hello Jane 
>>> nstr = greet.replace('o','X') 
>>> print(nstr) 
HellX BXb 
>>> 
Removendo Espaços em 
Branco 
•  Algumas vezes, queremos 
remover os espaços em branco 
no começo e final de uma string 
•  lstrip() e rstrip() removem 
espaços em branco à esquerda 
e à direita 
•  strip() remove espaços em 
branco tanto no começo quanto 
no final 
>>> greet = ' Hello Bob ' 
>>> greet.lstrip() 
'Hello Bob ' 
>>> greet.rstrip() 
' Hello Bob' 
>>> greet.strip() 
'Hello Bob' 
>>> 
>>> line = 'Please have a nice day’ 
>>> line.startswith('Please') 
True 
>>> line.startswith('p') 
False 
Prefixos 
>>> data = 'From stephen.marquard@uct.ac.za Sat Jan 5 
09:14:16 2008’ 
>>> atpos = data.find('@') 
>>> print(atpos) 
21 
>>> sppos = data.find(' ',atpos) 
>>> print(sppos) 
31 
>>> host = data[atpos + 1 : sppos] 
>>> print(host) 
uct.ac.za 
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 
21 31 
Analisando e extraindo 
Acknowledgements / Contributions 
These slides are Copyright 2010- Charles R. Severance 
(www.dr-chuck.com) of the University of Michigan School of 
Information and open.umich.edu and made available under a 
Creative Commons Attribution 4.0 License. Please maintain this 
last slide in all copies of the document to comply with the 
attribution requirements of the license. If you make a change, 
feel free to add your name and organization to the list of 
contributors on this page as you republish the materials. 
 
Initial Development: Charles Severance, University of Michigan 
School of Information 
 
… Insert new Contributors here 
...

Continue navegando