Fundamentos de Programação Turma CI-240-EST
Josiney de Souza
Agenda do Dia – Aula 6 (23/09/15)
Resolução de alguns problemas Aula anterior: Baskara, altura-predio, farenheit
Strings:
Conceito
Uso
Funções pré-definidas para strings
Caracteres e Strings
Caracteres: Texto que representa letras, dígitos e símbolos
Apenas 1 símbolo por vez
Usa tabela ASCII (http://www.asciitable.com/)
Strings:
Texto que reune vários caracteres
Para textos e caracteres, Python usa o tipo str (string)
Caracteres e Strings
O tipo str é usado entre apóstrofes (' ', aspas
”simples”) ou aspas (” ”, aspas duplas)
Existem caracteres que não são visíveis,
imprimíveis na tela
Como pular de linha (ENTER no editor de texto)?
Usa-se uma sequência de caracteres
conhecida como sequência de escape
São caracteres especiais que representam um
Caracteres e Strings
Alguns caracteres especiais: \n → Pula de linha
\t → Tabulação (8 espaços)
\0 → Caractere 0 da tabela ASCII
\\ → Caracteres '\' propriamente dito
\ddd → caractere de código ASCII ddd, base 8
\xddd → caractere de código ASCII ddd, base
Caracteres e Strings
Outras características: A cada caractere está associado um valor
inteiro
Representa seu código na tabela ASCII
'A', código 65 'B', código 66 '\n', código 12
Existem as funções ord() e chr()
(Relembrando) escrita e leitura de strings com
Índices e Substrings
Em Python, strings possuem dois conceitos importantes:
Índices: posições dos caracteres na string
Índices e Substrings
Índices: Valor numérico que indica posição do caractere
na string
Contagem da esquerda para a direita
Numeração começa do 0 (zero)
Próximas posições são 1, 2, 3, …
Última posição é N-1
Índice pode ter numeração negativa
Índices e Substrings
Índices: Substrings são partes da string original
Podem ser obtidas com dois índices separados
por ':' (dois pontos)
Ambas posições são opcionais
A primeira marca o início da substring
A segunda é o fim da substring
Proibido acessar posições que não existem
O caractere da posição final NUNCA é
Índices e Substrings
O que os comandos abaixo retornam? 1)seq = 'GAATTC' 2)seq[0] 3)seq[-1] 4)seq[0:3] 5)seq[1:3] 6)seq[:3] 7)seq[3:] 8)seq[3:6] 9)seq[3:-1] 10)seq[-3:-1] 11)seq[:] 12)seq[100] 13)seq[3:100] 14)seq[3:2] -6 -5 -4 -3 -2 -1 G A A T T C 0 1 2 3 4 5Índices e Substrings
Imutabilidade: Não é possível alterar o conteúdo de uma
string uma vez definida
Deve-se criar uma nova string a partir de
substrings desejadas
Exemplo:
frase = 'Quero frituras!'
Tente trocar a posição 8 por 'a'. Resultado?
Índices e Substrings
Imutabilidade: Não é possível alterar o conteúdo de uma
string uma vez definida
Deve-se criar uma nova string a partir de
substrings desejadas
Exemplo:
frase = 'Quero frituras!'
Tente trocar a posição 8 por 'a'. Resultado?
Como realizar a troca?
Manipulação de Strings
Considere: s, t, r: variáveis do tipo str
Funções de checagem são booleanas
Retornam verdadeiro ou falso (True, False)
Códigos-fonte (módulos) usam a sentença
from string import *
Mais funções em:
Manipulação de Strings – Geral
Operação / Função Descrição s + t Concatena s e t, nessa ordem
s * 3 Gera string com s repetida 3 vezes
len(s) Retorna o número de caracteres da string s
min(s) Retorna o menor caractere de s (de acordo com a tabela ASCII) max(s) Retorna o maior caractere de s (de acordo com a tabela ASCII) s.split([sep[, maxsplit]]) Quebra s em uma lista de maxsplit palavras, usando sep como
separador
s.count(sub[, ini[, fim]]) Conta as ocorrências de sub em s, entre ini e fim
s.find(sub[, ini[, fim]]) Indica o índice em s da 1ª ocorrência de sub, entre ini e fim. Se
sub não é encontrado, retorna valor -1
s.rfind(sub[, ini[, fim]]) Indica o índice em s da última ocorrência de sub, entre ini e fim. Se sub não é encontrado, retorna valor -1
Manipulação de Strings –
Formatação
Operação / Função Descrição
s.center(width) Centraliza s em um campo de comprimento width
s.ljust(width) Alinha s à esquerda em um campo de comprimento width
s.rjust(width) Alinha s à direita em um campo de comprimento width
s.lstrip() Remove os espaços em branco no início de s
s.rstrip() Remove os espaços em branco no fim de s
s.strip() Remove os espaços em branco no início e no fim de s
s.capitalize() Coloca o primeiro caractere de s em maiúscula s.lower() Coloca todos os caracteres de s em minúscula s.upper() Coloca todos os caracteres de s em maiúscula s.swapcase() Troca maiúsculas para minúsculas e vice-versa
s.title() Passa o 1º caractere de todas as palavras de s para maiúscula s.replace(old, new[,
maxrep])
Substitui no máximo maxrep vezes a substring old pela substring
Manipulação de Strings –
Checagem
Operação / Função Descrição
s <, <=, >, >= t Confere se s está antes ou depois de t considerando ordem alfabética s <, <= t >, >= r Confere se r está entre s e t considerando ordem alfabética
s ==, !=, is, is not t Confere se s é igual ou diferente de t c in, not in s Confere se c aparece ou não em s
s.isalpha() Confere se todos os caracteres de s são alfabéticos s.isalnum() Confere se todos os caracteres de s são alfanuméricos s.isdigit() Confere se todos os caracteres de s são números
s.islower() Confere se todos os caracteres de s são minúsculos s.isupper() Confere se todos os caracteres de s são maiúsculos
s.isspace() Confere se todos os caracteres de s são espaços em branco s.istitle() Confere se todas as palavras de s estão capitalizadas (1ª letra
maiúscula)
s.endswith(suffix[, ini[, fim]]) Confere se entre ini e fim, s termina com o sufixo suffix s.startswith(prefix[, ini[, fim]]) Confere se entre ini e fim, s começa com o prefixo prefix
Próxima Aula
Formatação de strings