SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Python:
Tuplas e Strings

Claudio Esperança
Tuplas
 São estruturas de dados parecidas com listas, mas com a 

particularidade de serem imutáveis
 Tuplas são seqüências e, assim como listas, podem ser 

indexadas e fatiadas, mas não é possível modificá­las
 Um valor do tipo tupla é uma série de valores separados por 

vírgulas e entre parênteses
>>> x = (1,2,3)
>>> x
(1, 2, 3)
>>> x [0]
1
>>> x [0]=1
...
TypeError: object does not support item
assignment
Tuplas
 Uma tupla vazia se escreve () 
 Os parênteses são opcionais se não provocarem ambigüidade
 Uma tupla contendo apenas um elemento deve ser escrita com 

uma vírgula ao final


Um valor entre parênteses sem vírgula no final é meramente 
uma expressão:
>>> (10)
10
>>> 10,
(10,)
>>> (10,)
(10,)
>>> 3*(10+3)
39
>>> 3*(10+3,)
(13, 13, 13)
A função tuple
 Assim como a função list constrói uma lista a partir 

de uma seqüência qualquer, a função tuple constrói 
uma tupla a partir de uma seqüência qualquer
>>> list("abcd")
['a', 'b', 'c', 'd']
>>> tuple("abcd")
('a', 'b', 'c', 'd')
>>> tuple([1,2,3])
(1, 2, 3)
>>> list((1,2,3))
[1, 2, 3]
Quando usar tuplas
 Em geral, tuplas podem ser substituídas com 

vantagem por listas
 Entretanto, algumas construções em Python 

requerem tuplas ou seqüências imutáveis, por 
exemplo:


Tuplas (ao contrário de listas) podem ser usadas como 
chaves de dicionários



Funções com número variável de argumentos acessam 
os argumentos por meio de tuplas



O operador de formatação aceita tuplas, mas não listas
O operador de formatação
 Strings suportam o operador % que, dada uma string especial 

(template) e um valor, produz uma string formatada
 O formato geral é 


template % valor

 O template é uma string entremeada por códigos de formatação


Um código de formatação é em geral composto do caracter 
% seguido de uma letra descritiva do tipo do valor a 
formatar (s para string, f para float, d para inteiro, etc)

 Exemplo:
>>> '====%d====' % 100
'====100===='
>>> '====%f====' % 1
'====1.000000===='
Formatando tuplas
 Um template pode ser aplicado aos diversos valores 

de uma tupla para construir uma string formatada
 Ex.:
>>> template = "%s tem %d anos"
>>> tupla = ('Pedro', 10)
>>> template % tupla
'Pedro tem 10 anos'
 Obs: mais tarde veremos que o operador de 

formatação também pode ser aplicado a dicionários
Anatomia das especificações de
formato









Caracter % 
Flags de conversão (opcionais):
 ­ indica alinhamento à esquerda
 + indica que um sinal deve preceder o valor convertido
 “ ” (um branco) indica que um espaço deve preceder números 
positivos
 0 indica preenchimento à esquerda com zeros
Comprimento mínimo do campo (opcional)
 O valor formatado terá este comprimento no mínimo
 Se igual a * (asterisco), o comprimento será  lido da tupla
Um “.” (ponto) seguido pela precisão (opcional)
 Usado para converter as casas decimais de floats
 Se aplicado para strings, indica o comprimento máximo
 Se igual a *, o valor será lido da tupla
Caracter indicador do tipo de formato
Tipos de formato
 d, i

Número inteiro escrito em decimal

 o

Número inteiro sem sinal escrito em octal

 u 

Número inteiro sem sinal escrito em decimal

 x

Número inteiro sem sinal escrito em hexadecimal (minúsculas)

 X

Número inteiro sem sinal escrito em hexadecimal (maiúsculas)

 e

Número de ponto flutuante escrito em notação científica ('e' minúsculo)

 E 

Número de ponto flutuante escrito em notação científica ('E' maiúsculo)

 f, F  Número de ponto flutuante escrito em notação convencional
 g  

Mesmo que e se expoente é maior que ­4. Caso contrario, igual a f

 G

Mesmo que E se expoente é maior que ­4. Caso contrario, igual a F

 c

Caractere único (usado com inteiro ou string de tamanho 1)

 r

String (entrada é qualquer objeto Python que é convertido usando a
função repr)
Exemplos
>>> "Numero inteiro: %d" % 55
'Numero inteiro: 55'
>>> "Numero inteiro com 3 casas: %3d" % 55
'Numero inteiro com 3 casas: 55'
>>> "Inteiro com 3 casas e zeros a esquerda: %03d" % 55
'Inteiro com 3 casas e zeros a esquerda: 055'
>>> "Inteiro escrito em hexadecimal: %x" % 55
'Inteiro escrito em hexadecimal: 37'
>>> from math import pi
>>> "Ponto flutuante: %f" % pi
'Ponto flutuante: 3.141593'
>>> "Ponto flutuante com 12 decimais: %.12f" % pi
'Ponto flutuante com 12 decimais: 3.141592653590'
>>> "Ponto flutuante com 10 caracteres: %10f" % pi
'Ponto flutuante com 10 caracteres:
3.141593'
>>> "Ponto flutuante em notacao cientifica: %10e" % pi
'Ponto flutuante em notacao cientifica: 3.141593e+00'
>>> "String com tamanho maximo definido: %.3s" % "Pedro"
'String com tamanho maximo definido: Ped'
Exemplo: Imprimindo uma tabela
itens = ["Abacate", "Limão", "Tangerina", "Melancia",
"Laranja da China"]
precos = [2.13, 0.19, 1.95, 0.87, 12.00]
len_precos = 10 # Coluna de precos tem 10 caracteres
# Achar a largura da coluna de itens
len_itens = len(itens[0])
for it in itens : len_itens = max(len_itens,len(it))
# Imprimir tabela de precos
print "-"*(len_itens+len_precos)
print "%-*s%*s" % (len_itens, "Item", len_precos,
"Preço")
print "-"*(len_itens+len_precos)
for i in range(len(itens)):
print "%-*s%*.2f" % (len_itens, itens[i],
len_precos, precos[i])
Exemplo: resultados
-------------------------Item
Preço
-------------------------Abacate
2.13
Limão
0.19
Tangerina
1.95
Melancia
0.87
Laranja da China
12.00
O Módulo String
 Manipulação de strings é uma atividade freqüente 

em programas Python
 Existe um módulo chamado string que contém 

uma grande quantidade de funcionalidades para 
trabalhar com strings


Para usá­las:
from string import *

 Entretanto, strings pertencem à classe str e a maior 

parte do que existe no módulo string aparece como 
métodos da classe str
Strings: método find
 find (substring, inicio, fim) 


Retorna o índice da primeira ocorrência de substring 



inicio e fim são opcionais e indicam os intervalos de 
índices onde a busca será efetuada


Os defaults são 0 e o comprimento da string, respectivamente



Caso substring não apareça na string, é retornado ­1



Observe que o operador in pode ser usado para dizer 
se uma substring aparece numa string
Strings: método find (exemplo)
>>> s = "quem parte e reparte, fica com a maior
parte"
>>> s.find("parte")
5
>>> s.find("reparte")
13
>>> s.find("parcela")
-1
>>> "parte" in s
True
>>> s.find("parte",6)
15
>>> s.find("parte",6,12)
-1
Strings: método join
 join(seqüência)
 Retorna uma string com todos os elementos da 
seqüência concatenados


Obs: Os elementos da seqüência têm que ser strings



A string objeto é usada como separador entre os 
elementos



Ex.:

>>> "/".join(("usr","bin","python"))
'usr/bin/python'
>>> "Q".join((1,2,3,4,5))
...
TypeError: sequence item 0: expected string,
int found
>>> "Q".join(('1','2','3','4','5'))
'1Q2Q3Q4Q5'
Strings: métodos lower e upper
 lower()


Retorna a string com todos os caracteres maiúsculos 
convertidos para minúsculos

 upper()


Retorna a string com todos os caracteres minúsculos 
convertidos para maiúsculos



Ex.:
>>> print "Esperança".upper()
ESPERANÇA
>>> print "Pé de Laranja Lima".lower()
pé de laranja lima
Strings: método replace
 replace(velho,novo,n)


Substitui as instâncias da substring velho por novo



Se n for especificado, apenas n instâncias são trocadas



Caso contrário, todas as instâncias são trocadas



Ex.:
>>> s = "quem parte e reparte, fica com a maior
parte"
>>> s.replace("parte","parcela")
'quem parcela e reparcela, fica com a maior
parcela'
>>> s.replace("parte","parcela",2)
'quem parcela e reparcela, fica com a maior
parte'
Strings: método split
 split(separador)


Retorna uma lista com as substrings presentes entre cópias 
da string separador



Faz o contrário do método join



Se separador não for especificado, é assumido seqüências de 
caracteres em branco, tabs ou newlines



Ex.:
>>> s = "xxx yyy zzz xxx yyy zzz"
>>> s.split()
['xxx', 'yyy', 'zzz', 'xxx', 'yyy', 'zzz']
>>> s.split('xxx')
['', ' yyy zzz ', ' yyy zzz']
Strings: método strip
 strip(ch)


Retorna a string sem caracteres iniciais ou finais que estejam 
na string ch



Se ch não for especificada, retira caracteres em branco



Pode­se também usar rstrip() para retirar caracteres à 
direita (final) ou lstrip() para retirar caracteres à esquerda 
(início)



Ex.:

>>> "
xxx afdsfa ".strip()
'xxx afdsfa'
>>> "xxx yyy zzz xxx".strip("xy ")
'zzz'
>>> " xxx
".rstrip()
' xxx'
Strings: método translate
 translate(trans)


Retorna uma cópia da string onde os caracteres são 
substituídos de acordo com a tabela de tradução trans



trans é uma string com 256 caracteres, um para cada 
possível código de oito bits




Ex.: se trans tem 'X' na posição 65 (correspondente ao caractere  
ASCII 'A'), então, na string retornada, todos os caracteres 'A' 
terão sido substituídos por 'X'

Na verdade, as tabelas de tradução são normalmente 
construídas com a função maketrans do módulo 
string
Função string.maketrans
 maketrans (velho, novo)


retorna uma tabela de tradução onde os caracteres em 
velho são substituídos pelos caracteres em novo



Ex.:
>>> from string import maketrans
>>> trans = maketrans('qs', 'kz')
>>> s = "que surpresa: quebrei a cara"
>>> s.translate(trans)
'kue zurpreza: kuebrei a cara'

Weitere ähnliche Inhalte

Was ist angesagt?

07 programando em python - funcoes
 07   programando em python - funcoes 07   programando em python - funcoes
07 programando em python - funcoesVictor Marcelino
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Tchelinux
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarCRISLANIO MACEDO
 

Was ist angesagt? (11)

Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Python aula 2
Python aula 2Python aula 2
Python aula 2
 
07 programando em python - funcoes
 07   programando em python - funcoes 07   programando em python - funcoes
07 programando em python - funcoes
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
 
Capítulo 6
Capítulo 6Capítulo 6
Capítulo 6
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
 
Função
FunçãoFunção
Função
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
 
Repetições e vetores
Repetições e vetoresRepetições e vetores
Repetições e vetores
 
35
3535
35
 

Ähnlich wie Python Tuplas e Strings

Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e stringssamuelthiago
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e stringsLeandro Barbosa
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdfDionatasSantos2
 
Aula 4 - Funções de Texto.pptx
Aula 4 - Funções de Texto.pptxAula 4 - Funções de Texto.pptx
Aula 4 - Funções de Texto.pptxSrgioSilva828129
 
minicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfminicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfEduardoChicoJooJoo
 
Programando em python tipos basicos
Programando em python   tipos basicosProgramando em python   tipos basicos
Programando em python tipos basicossamuelthiago
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em PythonRicardo Paiva
 
4234 mysql
4234 mysql4234 mysql
4234 mysqlherbam
 
Resumão BB Direção Concursos.pdf banco do brasil
Resumão BB Direção Concursos.pdf banco do brasilResumão BB Direção Concursos.pdf banco do brasil
Resumão BB Direção Concursos.pdf banco do brasilmacumbamaranhao19
 
Programação funcional tipada: uma introdução
Programação funcional tipada: uma introduçãoProgramação funcional tipada: uma introdução
Programação funcional tipada: uma introduçãoArthur Xavier
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayDilan Nery Lopes
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python PoliRodrigo Lira
 
04 programando em python - listas
 04   programando em python - listas 04   programando em python - listas
04 programando em python - listasVictor Marcelino
 
Funções Estatísticas
Funções EstatísticasFunções Estatísticas
Funções EstatísticasPaula Peres
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUACândido Sales Gomes
 

Ähnlich wie Python Tuplas e Strings (20)

Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e strings
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
Aula 4 - Funções de Texto.pptx
Aula 4 - Funções de Texto.pptxAula 4 - Funções de Texto.pptx
Aula 4 - Funções de Texto.pptx
 
minicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfminicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdf
 
Programando em python tipos basicos
Programando em python   tipos basicosProgramando em python   tipos basicos
Programando em python tipos basicos
 
python.tipos
python.tipospython.tipos
python.tipos
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em Python
 
4234 mysql
4234 mysql4234 mysql
4234 mysql
 
Resumão BB Direção Concursos.pdf banco do brasil
Resumão BB Direção Concursos.pdf banco do brasilResumão BB Direção Concursos.pdf banco do brasil
Resumão BB Direção Concursos.pdf banco do brasil
 
Programação funcional tipada: uma introdução
Programação funcional tipada: uma introduçãoProgramação funcional tipada: uma introdução
Programação funcional tipada: uma introdução
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDay
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
 
Python 02
Python 02Python 02
Python 02
 
04 programando em python - listas
 04   programando em python - listas 04   programando em python - listas
04 programando em python - listas
 
Funções Estatísticas
Funções EstatísticasFunções Estatísticas
Funções Estatísticas
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
 
Python
PythonPython
Python
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Aula Geral Excel
Aula Geral   ExcelAula Geral   Excel
Aula Geral Excel
 

Mehr von Victor Marcelino

08 programando em python - recursao
 08   programando em python - recursao 08   programando em python - recursao
08 programando em python - recursaoVictor Marcelino
 
09 programando em python - classes
 09   programando em python - classes 09   programando em python - classes
09 programando em python - classesVictor Marcelino
 
01 programando em python - sistemas de numeracao
 01   programando em python - sistemas de numeracao 01   programando em python - sistemas de numeracao
01 programando em python - sistemas de numeracaoVictor Marcelino
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducaoVictor Marcelino
 
12 programando em python - modulos
 12   programando em python - modulos 12   programando em python - modulos
12 programando em python - modulosVictor Marcelino
 
03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicosVictor Marcelino
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tkVictor Marcelino
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivosVictor Marcelino
 
11 programando em python - conjuntos
 11   programando em python - conjuntos 11   programando em python - conjuntos
11 programando em python - conjuntosVictor Marcelino
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoesVictor Marcelino
 
06 programando em python - dicionarios
 06   programando em python - dicionarios 06   programando em python - dicionarios
06 programando em python - dicionariosVictor Marcelino
 
02 programando em python - tipos basicos
 02   programando em python - tipos basicos 02   programando em python - tipos basicos
02 programando em python - tipos basicosVictor Marcelino
 
Python for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationPython for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationVictor Marcelino
 

Mehr von Victor Marcelino (14)

Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
08 programando em python - recursao
 08   programando em python - recursao 08   programando em python - recursao
08 programando em python - recursao
 
09 programando em python - classes
 09   programando em python - classes 09   programando em python - classes
09 programando em python - classes
 
01 programando em python - sistemas de numeracao
 01   programando em python - sistemas de numeracao 01   programando em python - sistemas de numeracao
01 programando em python - sistemas de numeracao
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducao
 
12 programando em python - modulos
 12   programando em python - modulos 12   programando em python - modulos
12 programando em python - modulos
 
03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicos
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivos
 
11 programando em python - conjuntos
 11   programando em python - conjuntos 11   programando em python - conjuntos
11 programando em python - conjuntos
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoes
 
06 programando em python - dicionarios
 06   programando em python - dicionarios 06   programando em python - dicionarios
06 programando em python - dicionarios
 
02 programando em python - tipos basicos
 02   programando em python - tipos basicos 02   programando em python - tipos basicos
02 programando em python - tipos basicos
 
Python for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationPython for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administration
 

Kürzlich hochgeladen

Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobremaryalouhannedelimao
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 

Kürzlich hochgeladen (20)

Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobre
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 

Python Tuplas e Strings

  • 2. Tuplas  São estruturas de dados parecidas com listas, mas com a  particularidade de serem imutáveis  Tuplas são seqüências e, assim como listas, podem ser  indexadas e fatiadas, mas não é possível modificá­las  Um valor do tipo tupla é uma série de valores separados por  vírgulas e entre parênteses >>> x = (1,2,3) >>> x (1, 2, 3) >>> x [0] 1 >>> x [0]=1 ... TypeError: object does not support item assignment
  • 3. Tuplas  Uma tupla vazia se escreve ()   Os parênteses são opcionais se não provocarem ambigüidade  Uma tupla contendo apenas um elemento deve ser escrita com  uma vírgula ao final  Um valor entre parênteses sem vírgula no final é meramente  uma expressão: >>> (10) 10 >>> 10, (10,) >>> (10,) (10,) >>> 3*(10+3) 39 >>> 3*(10+3,) (13, 13, 13)
  • 4. A função tuple  Assim como a função list constrói uma lista a partir  de uma seqüência qualquer, a função tuple constrói  uma tupla a partir de uma seqüência qualquer >>> list("abcd") ['a', 'b', 'c', 'd'] >>> tuple("abcd") ('a', 'b', 'c', 'd') >>> tuple([1,2,3]) (1, 2, 3) >>> list((1,2,3)) [1, 2, 3]
  • 5. Quando usar tuplas  Em geral, tuplas podem ser substituídas com  vantagem por listas  Entretanto, algumas construções em Python  requerem tuplas ou seqüências imutáveis, por  exemplo:  Tuplas (ao contrário de listas) podem ser usadas como  chaves de dicionários  Funções com número variável de argumentos acessam  os argumentos por meio de tuplas  O operador de formatação aceita tuplas, mas não listas
  • 6. O operador de formatação  Strings suportam o operador % que, dada uma string especial  (template) e um valor, produz uma string formatada  O formato geral é   template % valor  O template é uma string entremeada por códigos de formatação  Um código de formatação é em geral composto do caracter  % seguido de uma letra descritiva do tipo do valor a  formatar (s para string, f para float, d para inteiro, etc)  Exemplo: >>> '====%d====' % 100 '====100====' >>> '====%f====' % 1 '====1.000000===='
  • 7. Formatando tuplas  Um template pode ser aplicado aos diversos valores  de uma tupla para construir uma string formatada  Ex.: >>> template = "%s tem %d anos" >>> tupla = ('Pedro', 10) >>> template % tupla 'Pedro tem 10 anos'  Obs: mais tarde veremos que o operador de  formatação também pode ser aplicado a dicionários
  • 8. Anatomia das especificações de formato      Caracter %  Flags de conversão (opcionais):  ­ indica alinhamento à esquerda  + indica que um sinal deve preceder o valor convertido  “ ” (um branco) indica que um espaço deve preceder números  positivos  0 indica preenchimento à esquerda com zeros Comprimento mínimo do campo (opcional)  O valor formatado terá este comprimento no mínimo  Se igual a * (asterisco), o comprimento será  lido da tupla Um “.” (ponto) seguido pela precisão (opcional)  Usado para converter as casas decimais de floats  Se aplicado para strings, indica o comprimento máximo  Se igual a *, o valor será lido da tupla Caracter indicador do tipo de formato
  • 9. Tipos de formato  d, i Número inteiro escrito em decimal  o Número inteiro sem sinal escrito em octal  u  Número inteiro sem sinal escrito em decimal  x Número inteiro sem sinal escrito em hexadecimal (minúsculas)  X Número inteiro sem sinal escrito em hexadecimal (maiúsculas)  e Número de ponto flutuante escrito em notação científica ('e' minúsculo)  E  Número de ponto flutuante escrito em notação científica ('E' maiúsculo)  f, F  Número de ponto flutuante escrito em notação convencional  g   Mesmo que e se expoente é maior que ­4. Caso contrario, igual a f  G Mesmo que E se expoente é maior que ­4. Caso contrario, igual a F  c Caractere único (usado com inteiro ou string de tamanho 1)  r String (entrada é qualquer objeto Python que é convertido usando a função repr)
  • 10. Exemplos >>> "Numero inteiro: %d" % 55 'Numero inteiro: 55' >>> "Numero inteiro com 3 casas: %3d" % 55 'Numero inteiro com 3 casas: 55' >>> "Inteiro com 3 casas e zeros a esquerda: %03d" % 55 'Inteiro com 3 casas e zeros a esquerda: 055' >>> "Inteiro escrito em hexadecimal: %x" % 55 'Inteiro escrito em hexadecimal: 37' >>> from math import pi >>> "Ponto flutuante: %f" % pi 'Ponto flutuante: 3.141593' >>> "Ponto flutuante com 12 decimais: %.12f" % pi 'Ponto flutuante com 12 decimais: 3.141592653590' >>> "Ponto flutuante com 10 caracteres: %10f" % pi 'Ponto flutuante com 10 caracteres: 3.141593' >>> "Ponto flutuante em notacao cientifica: %10e" % pi 'Ponto flutuante em notacao cientifica: 3.141593e+00' >>> "String com tamanho maximo definido: %.3s" % "Pedro" 'String com tamanho maximo definido: Ped'
  • 11. Exemplo: Imprimindo uma tabela itens = ["Abacate", "Limão", "Tangerina", "Melancia", "Laranja da China"] precos = [2.13, 0.19, 1.95, 0.87, 12.00] len_precos = 10 # Coluna de precos tem 10 caracteres # Achar a largura da coluna de itens len_itens = len(itens[0]) for it in itens : len_itens = max(len_itens,len(it)) # Imprimir tabela de precos print "-"*(len_itens+len_precos) print "%-*s%*s" % (len_itens, "Item", len_precos, "Preço") print "-"*(len_itens+len_precos) for i in range(len(itens)): print "%-*s%*.2f" % (len_itens, itens[i], len_precos, precos[i])
  • 13. O Módulo String  Manipulação de strings é uma atividade freqüente  em programas Python  Existe um módulo chamado string que contém  uma grande quantidade de funcionalidades para  trabalhar com strings  Para usá­las: from string import *  Entretanto, strings pertencem à classe str e a maior  parte do que existe no módulo string aparece como  métodos da classe str
  • 14. Strings: método find  find (substring, inicio, fim)   Retorna o índice da primeira ocorrência de substring   inicio e fim são opcionais e indicam os intervalos de  índices onde a busca será efetuada  Os defaults são 0 e o comprimento da string, respectivamente  Caso substring não apareça na string, é retornado ­1  Observe que o operador in pode ser usado para dizer  se uma substring aparece numa string
  • 15. Strings: método find (exemplo) >>> s = "quem parte e reparte, fica com a maior parte" >>> s.find("parte") 5 >>> s.find("reparte") 13 >>> s.find("parcela") -1 >>> "parte" in s True >>> s.find("parte",6) 15 >>> s.find("parte",6,12) -1
  • 16. Strings: método join  join(seqüência)  Retorna uma string com todos os elementos da  seqüência concatenados  Obs: Os elementos da seqüência têm que ser strings  A string objeto é usada como separador entre os  elementos  Ex.: >>> "/".join(("usr","bin","python")) 'usr/bin/python' >>> "Q".join((1,2,3,4,5)) ... TypeError: sequence item 0: expected string, int found >>> "Q".join(('1','2','3','4','5')) '1Q2Q3Q4Q5'
  • 17. Strings: métodos lower e upper  lower()  Retorna a string com todos os caracteres maiúsculos  convertidos para minúsculos  upper()  Retorna a string com todos os caracteres minúsculos  convertidos para maiúsculos  Ex.: >>> print "Esperança".upper() ESPERANÇA >>> print "Pé de Laranja Lima".lower() pé de laranja lima
  • 18. Strings: método replace  replace(velho,novo,n)  Substitui as instâncias da substring velho por novo  Se n for especificado, apenas n instâncias são trocadas  Caso contrário, todas as instâncias são trocadas  Ex.: >>> s = "quem parte e reparte, fica com a maior parte" >>> s.replace("parte","parcela") 'quem parcela e reparcela, fica com a maior parcela' >>> s.replace("parte","parcela",2) 'quem parcela e reparcela, fica com a maior parte'
  • 19. Strings: método split  split(separador)  Retorna uma lista com as substrings presentes entre cópias  da string separador  Faz o contrário do método join  Se separador não for especificado, é assumido seqüências de  caracteres em branco, tabs ou newlines  Ex.: >>> s = "xxx yyy zzz xxx yyy zzz" >>> s.split() ['xxx', 'yyy', 'zzz', 'xxx', 'yyy', 'zzz'] >>> s.split('xxx') ['', ' yyy zzz ', ' yyy zzz']
  • 20. Strings: método strip  strip(ch)  Retorna a string sem caracteres iniciais ou finais que estejam  na string ch  Se ch não for especificada, retira caracteres em branco  Pode­se também usar rstrip() para retirar caracteres à  direita (final) ou lstrip() para retirar caracteres à esquerda  (início)  Ex.: >>> " xxx afdsfa ".strip() 'xxx afdsfa' >>> "xxx yyy zzz xxx".strip("xy ") 'zzz' >>> " xxx ".rstrip() ' xxx'
  • 21. Strings: método translate  translate(trans)  Retorna uma cópia da string onde os caracteres são  substituídos de acordo com a tabela de tradução trans  trans é uma string com 256 caracteres, um para cada  possível código de oito bits   Ex.: se trans tem 'X' na posição 65 (correspondente ao caractere   ASCII 'A'), então, na string retornada, todos os caracteres 'A'  terão sido substituídos por 'X' Na verdade, as tabelas de tradução são normalmente  construídas com a função maketrans do módulo  string
  • 22. Função string.maketrans  maketrans (velho, novo)  retorna uma tabela de tradução onde os caracteres em  velho são substituídos pelos caracteres em novo  Ex.: >>> from string import maketrans >>> trans = maketrans('qs', 'kz') >>> s = "que surpresa: quebrei a cara" >>> s.translate(trans) 'kue zurpreza: kuebrei a cara'