SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Tecnologia em Sistemas para Internet - IFMS
Vamos aprender algo diferente?
Introdução à linguagem Python (parte 2)
Tópicos em Programação
Prof.º Msc. Sidney Roberto de Sousa
sidney.sousa@ifms.edu.br
Tec. em Sistemas para Internet - IFMS 2
O que veremos nesta aula?
●
Comentando código
●
Manipulando strings
●
Manipulando listas
●
Manipulando dicionários
Tec. em Sistemas para Internet - IFMS 3
Comentários simples
# Eu sou um comentario de uma linha!
frase = "Esta linha de codigo nao foi comentada!"
#outra_frase = "Esta linha de codigo foi comentada"
numero = 2 ** 8 # Comentario explicativo 
Tec. em Sistemas para Internet - IFMS 4
Comentários com múltiplas linhas
# coding=utf­8
'''
Comentários com múltiplas linhas são delimitados por três acentos agudos.
Na verdade, os três acentos agudos servem para delimitar uma string, 
como você verá logo a seguir nesta aula. Porém, como a linguagem 
Python não possui uma forma própria para se criar comentários de 
múltiplas linhas, os programadores Python utilizam esta forma alternativa
para resolver o problema (dado que isto não gera um erro sintático).
Esta forma de criar comentários foi aprovada pelo Guido van Rossum, 
como você pode verificar no twit do link abaixo.
https://twitter.com/gvanrossum/status/112670605505077248
'''
Tec. em Sistemas para Internet - IFMS 5
Criando strings
# coding=utf­8
uma_string = 'Isto é uma string!'
# Isto é uma string!
outra_string = "Isto também é uma string!"
# Isto também é uma string!
mais_uma_string = "'Eu também sou uma string!'"
# 'Eu também sou uma string!'
uma_nova_string = '''Acredite, eu sou uma string!'''
# Acredite, eu sou uma string!
vixi_mais_uma_string = """E eu não poderia deixar de ser uma string..."""
# E eu não poderia deixar de ser uma string...
Tec. em Sistemas para Internet - IFMS 6
Pegando o tamanho da string
uma_string = 'Uma string de tamanho mediano...'
print len(uma_string) # 32
Tec. em Sistemas para Internet - IFMS 7
Concatenando strings
# coding=utf­8
# Aprendendo Python!
print "Aprendendo" + " " + " Python!"
primeira_parte = "Manipulando"
segunda_parte = " "
terceira_parte = "strings"
# Manipulando strings
print primeira_parte + segunda_parte + terceira_parte
frase_completa = "".join([primeira_parte, segunda_parte, terceira_parte])
# Manipulando strings
print frase_completa
Tec. em Sistemas para Internet - IFMS 8
Indexação de strings em Python
O l á m u n d o !
0 1 2 3 4 5 6 7 8 9
-9 -8 -7 -6 -5 -4 -3 -2 -1
Tec. em Sistemas para Internet - IFMS 9
Pegando partes da string
# coding=utf­8
frase = "Pegando partes da string original"
# Pegando
print frase[0:7]
# Pegando
print frase[:7]
# partes da string
print frase[8:24]
# partes da string original
print frase[8:]
# Imprime apenas os caracteres cujo índice for divisível por 3, na sequência positiva 
# (esquerda para a direita):
# Paoaedsi in
print frase[::3]
Tec. em Sistemas para Internet - IFMS 10
Utilizando índices negativos
# coding=utf­8
frase = "Pegando partes da string original"
# O décimo caractere da direita para a esquerda:
# g
print frase[­10]
# string origina
print frase[18:­1]
# Exibe os oito últimos caracteres da string:
# original
print frase[­8:]
'''
Exibe todos os caracteres da frase cujo índice seja divisível por ­1, 
na sequência negativa (direita para a esquerda).
Como efeito, exibe a string invertida:
lanigiro gnirts ad setrap odnageP
'''
print frase[::­1]
Tec. em Sistemas para Internet - IFMS 11
Removendo espaços em branco no
início e no fim da string
# coding=utf­8
frase = " Por favor, retire estes espaços em branco malditos!     "
print frase.strip()
Tec. em Sistemas para Internet - IFMS 12
Particionando uma string
# coding=utf­8
frase = "Quero quebrar esta frase em várias palavras"
palavras = frase.split(" ")
for palavra in palavras:
    print palavra
Tec. em Sistemas para Internet - IFMS 13
Verificando o início da string
# coding=utf­8
preco = raw_input("Digite o valor em reais (R$): ")
while not preco.startswith("R$"):
    print "Você deve digitar um valor em reais!"
    preco = raw_input("Digite o valor em reais (R$): ")
print preco
Tec. em Sistemas para Internet - IFMS 14
Verificando o fim da string
# coding=utf­8
pergunta = raw_input("Digite uma pergunta: ")
while not pergunta.endswith("?"):
    print "Você deve digitar uma pergunta!"
    pergunta = raw_input("Digite uma pergunta: ")
print "Não sei..."
Tec. em Sistemas para Internet - IFMS 15
Convertendo casos
texto = "Eu sou um texto simples."
# eu sou um texto simples.
print texto.lower()
# EU SOU UM TEXTO SIMPLES.
print texto.upper()
Tec. em Sistemas para Internet - IFMS 16
Verificando a ocorrência de uma substring
texto = "Eu vivo no Mato Grosso do Sul!"
tem_mato_no_texto = "Mato" in texto
# True
tem_mato_no_texto = "mato" in texto.lower()
# True
tem_mato_no_texto = not "Sul" in texto
# False
Tec. em Sistemas para Internet - IFMS 17
Verificando a ocorrência de uma substring
com expressões regulares
import re
texto = "A Ana comeu banana... mas que sacana!"
encontrados = re.findall("ana", texto, re.IGNORECASE)
# ['Ana', 'ana', 'ana']
encontrados = re.findall("...ana...", texto, re.IGNORECASE)
# ['banana...']
encontrados = re.findall("...ana!", texto, re.IGNORECASE)
# ['sacana!']
encontrados = re.findall("sanas", texto, re.IGNORECASE)
# [' Ana ']
if re.search("comeu", texto):
    print "Comeram banana na frase..."
Tec. em Sistemas para Internet - IFMS 18
Convertendo um número em string
numero_em_texto = str(2 ** 1024)
print numero_em_texto[:10]
Tec. em Sistemas para Internet - IFMS 19
Criando uma lista
lista = [1, "segundo elemento", True, None]
for elemento in lista:
    print elemento
lista = range(10)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Tec. em Sistemas para Internet - IFMS 20
Adicionando itens na lista
lista = []
for elemento in range(5):
    lista.append(elemento ** 2)
print lista
# [0, 1, 4, 9, 16]
lista.insert(2, ­657)
print lista
# [0, 1, ­657, 4, 9, 16]
Tec. em Sistemas para Internet - IFMS 21
Pegando o tamanho da lista
lista = [23, 65, 298, ­82, 5]
print len(lista)
# 5
Tec. em Sistemas para Internet - IFMS 22
Acessando os ítens de uma lista
lista = [23, 65, 298, ­82, 5]
print lista[2]
# 298
print lista[­2]
# ­82
print lista[::­1]
# [5, ­82, 298, 65, 23]
Tec. em Sistemas para Internet - IFMS 23
Removendo ítens de uma lista
lista = [23, 65, 298, ­82, 298, 5, 23]
# [23, 65, 298, ­82, 298, 5, 23]
lista.remove(298)
# [23, 65, ­82, 298, 5, 23]
lista.pop(2)
# [23, 65, 298, 5, 23]
quantidade = lista.count(23)
for _ in range(quantidade):
    lista.remove(23)
print lista
# [65, 298, 5]
Tec. em Sistemas para Internet - IFMS 24
Verificando a ocorrência de um ítem na lista
# coding=utf­8
lista = [23, 65, 298, ­82, 298, 5, 23]
try:
    indice = lista.index(45)
    print "O elemento 45 está na posição %d da lista!"%indice
except ValueError:
    print "O elemento 45 não está na lista."
try:
    indice = lista.index(298)
    print "O elemento 298 está na posição %d da lista!"%indice
except ValueError:
    print "O elemento 298 não está na lista."
'''
O elemento 45 não está na lista.
O elemento 298 está na posição 2 da lista!
'''
Tec. em Sistemas para Internet - IFMS 25
Reagrupando os ítens de uma lista
lista = [23, 65, 298, ­82, 298, 5, 23]
lista.sort()
# [­82, 5, 23, 23, 65, 298, 298]
lista.reverse()
# [298, 298, 65, 23, 23, 5, ­82]
Tec. em Sistemas para Internet - IFMS 26
Concatenando listas
lista1 = [23, 65, 298, ­82, 298, 5, 23]
lista2 = ["um", "dois", "tres"]
lista1.extend(lista2)
print lista1
# [23, 65, 298, ­82, 298, 5, 23, 'um', 'dois', 'tres']
Tec. em Sistemas para Internet - IFMS 27
Criando dicionários
# coding=utf­8
dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37}
dicionario_idades["Juca"] = 1
print dicionario_idades
# {'Suelen': 27, 'Luzia': 45, 'Juca': 1, 'Amauri': 37, 'Sidney': 27}
dicionario_quadrados = {x: x ** 2 for x in range(11)}
print dicionario_quadrados
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
# Se a chave for uma string simples, o dicionário pode ser criado como abaixo:
dicionario_registros = dict(martelo = 17, chave = 2, alicate = 45)
print dicionario_registros
# {'chave': 2, 'alicate': 45, 'martelo': 17}
Tec. em Sistemas para Internet - IFMS 28
Acessando os ítens de um dicionário
dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Amauri" : 37}
print dicionario_idades["Sidney"]
# 27
for chave,valor in dicionario_idades.iteritems():
    # Imprime os pares chave ­> valor
    print "%s ­> %d"%(chave,valor)
for chave in dicionario_idades.keys():
    # Imprime cada chave do dicionario
    print chave
for valor in dicionario_idades.values():
    # Imprime cada valor do dicionario
    print valor
Tec. em Sistemas para Internet - IFMS 29
Removendo ítens do dicionário
# coding=utf­8
dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37}
del dicionario_idades["Sidney"]
# {'Suelen': 27, 'Luzia': 45, 'Amauri': 37}
dicionario_idades.pop("Luzia")
# {'Suelen': 27, 'Amauri': 37}
# Removendo todos os ítens do dicionário
dicionario_idades.clear()
# {}
Tec. em Sistemas para Internet - IFMS 30
Desempilhando ítens de um dicionário
dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37}
item = dicionario_idades.popitem()
try:
    while item:
        print item
        # Se o dicionario estiver vazio, popitem lançará uma exceção,
        # a qual tratamos logo abaixo.
        item = dicionario_idades.popitem()
except KeyError:
    print "Sem mais itens."
Tec. em Sistemas para Internet - IFMS 31
Criando um dicionário "on the fly"
for chave, valor in enumerate(['zero', 'um', 'dois']):
    print chave, valor
'''
0 zero
1 um
2 dois
'''
Tec. em Sistemas para Internet - IFMS 32
Transformando duas listas em um dicionário
paises = ['Brasil', 'Argentina', 'Uruguai', 'Venezuela', 'Peru']
nacionalidades = ['brasileiro', 'argentino', 'uruguaio', 'venezuelano', 'peruano']
for pais, nacionalidade in zip(paises, nacionalidades):
    print "O %s e natural de que pais?nR: %sn"%(nacionalidade, pais)
'''
O brasileiro e natural de que pais?
R: Brasil
O argentino e natural de que pais?
R: Argentina
O uruguaio e natural de que pais?
R: Uruguai
O venezuelano e natural de que pais?
R: Venezuela
O peruano e natural de que pais?
R: Peru
'''
Tec. em Sistemas para Internet - IFMS 33
Referências
pa-pe-pi-po-pure Python Text Processing. Disponível em
http://www.slideshare.net/rodsenra/papepipopure-python-text-processing.
Acessado em 1 de maio de 2013.
Strings. Disponível em
http://docs.python.org/release/1.5.1p1/tut/strings.html. Acessado em 1 de
maio de 2013.
Data Structures. Disponível em
http://docs.python.org/2/tutorial/datastructures.html. Acessado em 2 de maio
de 2013.

Weitere ähnliche Inhalte

Andere mochten auch

Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaSidney Roberto
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaSidney Roberto
 
Introducao à Informatica Aplicada
Introducao à Informatica AplicadaIntroducao à Informatica Aplicada
Introducao à Informatica AplicadaClausia Antoneli
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?Sidney Roberto
 
O jogo da ética
O jogo da éticaO jogo da ética
O jogo da éticaChrys Souza
 
Aula I - Introdução ao Windows
Aula I - Introdução ao WindowsAula I - Introdução ao Windows
Aula I - Introdução ao WindowsJéssica Amaral
 

Andere mochten auch (7)

Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciência
 
Introducao à Informatica Aplicada
Introducao à Informatica AplicadaIntroducao à Informatica Aplicada
Introducao à Informatica Aplicada
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?
 
Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica Aplicada
 
O jogo da ética
O jogo da éticaO jogo da ética
O jogo da ética
 
Aula I - Introdução ao Windows
Aula I - Introdução ao WindowsAula I - Introdução ao Windows
Aula I - Introdução ao Windows
 

Mehr von Sidney Roberto

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerdSidney Roberto
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBSidney Roberto
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVSidney Roberto
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVSidney Roberto
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQSidney Roberto
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonSidney Roberto
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQSidney Roberto
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroSidney Roberto
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação ISidney Roberto
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados BásicasSidney Roberto
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de ProgramasSidney Roberto
 
Representação e Manipulação de Informações
Representação e Manipulação de InformaçõesRepresentação e Manipulação de Informações
Representação e Manipulação de InformaçõesSidney Roberto
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Raciocínio Baseado em Casos
Raciocínio Baseado em CasosRaciocínio Baseado em Casos
Raciocínio Baseado em CasosSidney Roberto
 

Mehr von Sidney Roberto (18)

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerd
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDB
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IV
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IV
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com Python
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiro
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 
Compilando em java
Compilando em javaCompilando em java
Compilando em java
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados Básicas
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de Programas
 
Representação e Manipulação de Informações
Representação e Manipulação de InformaçõesRepresentação e Manipulação de Informações
Representação e Manipulação de Informações
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Raciocínio Baseado em Casos
Raciocínio Baseado em CasosRaciocínio Baseado em Casos
Raciocínio Baseado em Casos
 

Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)

  • 1. Tecnologia em Sistemas para Internet - IFMS Vamos aprender algo diferente? Introdução à linguagem Python (parte 2) Tópicos em Programação Prof.º Msc. Sidney Roberto de Sousa sidney.sousa@ifms.edu.br
  • 2. Tec. em Sistemas para Internet - IFMS 2 O que veremos nesta aula? ● Comentando código ● Manipulando strings ● Manipulando listas ● Manipulando dicionários
  • 3. Tec. em Sistemas para Internet - IFMS 3 Comentários simples # Eu sou um comentario de uma linha! frase = "Esta linha de codigo nao foi comentada!" #outra_frase = "Esta linha de codigo foi comentada" numero = 2 ** 8 # Comentario explicativo 
  • 4. Tec. em Sistemas para Internet - IFMS 4 Comentários com múltiplas linhas # coding=utf­8 ''' Comentários com múltiplas linhas são delimitados por três acentos agudos. Na verdade, os três acentos agudos servem para delimitar uma string,  como você verá logo a seguir nesta aula. Porém, como a linguagem  Python não possui uma forma própria para se criar comentários de  múltiplas linhas, os programadores Python utilizam esta forma alternativa para resolver o problema (dado que isto não gera um erro sintático). Esta forma de criar comentários foi aprovada pelo Guido van Rossum,  como você pode verificar no twit do link abaixo. https://twitter.com/gvanrossum/status/112670605505077248 '''
  • 5. Tec. em Sistemas para Internet - IFMS 5 Criando strings # coding=utf­8 uma_string = 'Isto é uma string!' # Isto é uma string! outra_string = "Isto também é uma string!" # Isto também é uma string! mais_uma_string = "'Eu também sou uma string!'" # 'Eu também sou uma string!' uma_nova_string = '''Acredite, eu sou uma string!''' # Acredite, eu sou uma string! vixi_mais_uma_string = """E eu não poderia deixar de ser uma string...""" # E eu não poderia deixar de ser uma string...
  • 6. Tec. em Sistemas para Internet - IFMS 6 Pegando o tamanho da string uma_string = 'Uma string de tamanho mediano...' print len(uma_string) # 32
  • 7. Tec. em Sistemas para Internet - IFMS 7 Concatenando strings # coding=utf­8 # Aprendendo Python! print "Aprendendo" + " " + " Python!" primeira_parte = "Manipulando" segunda_parte = " " terceira_parte = "strings" # Manipulando strings print primeira_parte + segunda_parte + terceira_parte frase_completa = "".join([primeira_parte, segunda_parte, terceira_parte]) # Manipulando strings print frase_completa
  • 8. Tec. em Sistemas para Internet - IFMS 8 Indexação de strings em Python O l á m u n d o ! 0 1 2 3 4 5 6 7 8 9 -9 -8 -7 -6 -5 -4 -3 -2 -1
  • 9. Tec. em Sistemas para Internet - IFMS 9 Pegando partes da string # coding=utf­8 frase = "Pegando partes da string original" # Pegando print frase[0:7] # Pegando print frase[:7] # partes da string print frase[8:24] # partes da string original print frase[8:] # Imprime apenas os caracteres cujo índice for divisível por 3, na sequência positiva  # (esquerda para a direita): # Paoaedsi in print frase[::3]
  • 10. Tec. em Sistemas para Internet - IFMS 10 Utilizando índices negativos # coding=utf­8 frase = "Pegando partes da string original" # O décimo caractere da direita para a esquerda: # g print frase[­10] # string origina print frase[18:­1] # Exibe os oito últimos caracteres da string: # original print frase[­8:] ''' Exibe todos os caracteres da frase cujo índice seja divisível por ­1,  na sequência negativa (direita para a esquerda). Como efeito, exibe a string invertida: lanigiro gnirts ad setrap odnageP ''' print frase[::­1]
  • 11. Tec. em Sistemas para Internet - IFMS 11 Removendo espaços em branco no início e no fim da string # coding=utf­8 frase = " Por favor, retire estes espaços em branco malditos!     " print frase.strip()
  • 12. Tec. em Sistemas para Internet - IFMS 12 Particionando uma string # coding=utf­8 frase = "Quero quebrar esta frase em várias palavras" palavras = frase.split(" ") for palavra in palavras:     print palavra
  • 13. Tec. em Sistemas para Internet - IFMS 13 Verificando o início da string # coding=utf­8 preco = raw_input("Digite o valor em reais (R$): ") while not preco.startswith("R$"):     print "Você deve digitar um valor em reais!"     preco = raw_input("Digite o valor em reais (R$): ") print preco
  • 14. Tec. em Sistemas para Internet - IFMS 14 Verificando o fim da string # coding=utf­8 pergunta = raw_input("Digite uma pergunta: ") while not pergunta.endswith("?"):     print "Você deve digitar uma pergunta!"     pergunta = raw_input("Digite uma pergunta: ") print "Não sei..."
  • 15. Tec. em Sistemas para Internet - IFMS 15 Convertendo casos texto = "Eu sou um texto simples." # eu sou um texto simples. print texto.lower() # EU SOU UM TEXTO SIMPLES. print texto.upper()
  • 16. Tec. em Sistemas para Internet - IFMS 16 Verificando a ocorrência de uma substring texto = "Eu vivo no Mato Grosso do Sul!" tem_mato_no_texto = "Mato" in texto # True tem_mato_no_texto = "mato" in texto.lower() # True tem_mato_no_texto = not "Sul" in texto # False
  • 17. Tec. em Sistemas para Internet - IFMS 17 Verificando a ocorrência de uma substring com expressões regulares import re texto = "A Ana comeu banana... mas que sacana!" encontrados = re.findall("ana", texto, re.IGNORECASE) # ['Ana', 'ana', 'ana'] encontrados = re.findall("...ana...", texto, re.IGNORECASE) # ['banana...'] encontrados = re.findall("...ana!", texto, re.IGNORECASE) # ['sacana!'] encontrados = re.findall("sanas", texto, re.IGNORECASE) # [' Ana '] if re.search("comeu", texto):     print "Comeram banana na frase..."
  • 18. Tec. em Sistemas para Internet - IFMS 18 Convertendo um número em string numero_em_texto = str(2 ** 1024) print numero_em_texto[:10]
  • 19. Tec. em Sistemas para Internet - IFMS 19 Criando uma lista lista = [1, "segundo elemento", True, None] for elemento in lista:     print elemento lista = range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 20. Tec. em Sistemas para Internet - IFMS 20 Adicionando itens na lista lista = [] for elemento in range(5):     lista.append(elemento ** 2) print lista # [0, 1, 4, 9, 16] lista.insert(2, ­657) print lista # [0, 1, ­657, 4, 9, 16]
  • 21. Tec. em Sistemas para Internet - IFMS 21 Pegando o tamanho da lista lista = [23, 65, 298, ­82, 5] print len(lista) # 5
  • 22. Tec. em Sistemas para Internet - IFMS 22 Acessando os ítens de uma lista lista = [23, 65, 298, ­82, 5] print lista[2] # 298 print lista[­2] # ­82 print lista[::­1] # [5, ­82, 298, 65, 23]
  • 23. Tec. em Sistemas para Internet - IFMS 23 Removendo ítens de uma lista lista = [23, 65, 298, ­82, 298, 5, 23] # [23, 65, 298, ­82, 298, 5, 23] lista.remove(298) # [23, 65, ­82, 298, 5, 23] lista.pop(2) # [23, 65, 298, 5, 23] quantidade = lista.count(23) for _ in range(quantidade):     lista.remove(23) print lista # [65, 298, 5]
  • 24. Tec. em Sistemas para Internet - IFMS 24 Verificando a ocorrência de um ítem na lista # coding=utf­8 lista = [23, 65, 298, ­82, 298, 5, 23] try:     indice = lista.index(45)     print "O elemento 45 está na posição %d da lista!"%indice except ValueError:     print "O elemento 45 não está na lista." try:     indice = lista.index(298)     print "O elemento 298 está na posição %d da lista!"%indice except ValueError:     print "O elemento 298 não está na lista." ''' O elemento 45 não está na lista. O elemento 298 está na posição 2 da lista! '''
  • 25. Tec. em Sistemas para Internet - IFMS 25 Reagrupando os ítens de uma lista lista = [23, 65, 298, ­82, 298, 5, 23] lista.sort() # [­82, 5, 23, 23, 65, 298, 298] lista.reverse() # [298, 298, 65, 23, 23, 5, ­82]
  • 26. Tec. em Sistemas para Internet - IFMS 26 Concatenando listas lista1 = [23, 65, 298, ­82, 298, 5, 23] lista2 = ["um", "dois", "tres"] lista1.extend(lista2) print lista1 # [23, 65, 298, ­82, 298, 5, 23, 'um', 'dois', 'tres']
  • 27. Tec. em Sistemas para Internet - IFMS 27 Criando dicionários # coding=utf­8 dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37} dicionario_idades["Juca"] = 1 print dicionario_idades # {'Suelen': 27, 'Luzia': 45, 'Juca': 1, 'Amauri': 37, 'Sidney': 27} dicionario_quadrados = {x: x ** 2 for x in range(11)} print dicionario_quadrados # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100} # Se a chave for uma string simples, o dicionário pode ser criado como abaixo: dicionario_registros = dict(martelo = 17, chave = 2, alicate = 45) print dicionario_registros # {'chave': 2, 'alicate': 45, 'martelo': 17}
  • 28. Tec. em Sistemas para Internet - IFMS 28 Acessando os ítens de um dicionário dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Amauri" : 37} print dicionario_idades["Sidney"] # 27 for chave,valor in dicionario_idades.iteritems():     # Imprime os pares chave ­> valor     print "%s ­> %d"%(chave,valor) for chave in dicionario_idades.keys():     # Imprime cada chave do dicionario     print chave for valor in dicionario_idades.values():     # Imprime cada valor do dicionario     print valor
  • 29. Tec. em Sistemas para Internet - IFMS 29 Removendo ítens do dicionário # coding=utf­8 dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37} del dicionario_idades["Sidney"] # {'Suelen': 27, 'Luzia': 45, 'Amauri': 37} dicionario_idades.pop("Luzia") # {'Suelen': 27, 'Amauri': 37} # Removendo todos os ítens do dicionário dicionario_idades.clear() # {}
  • 30. Tec. em Sistemas para Internet - IFMS 30 Desempilhando ítens de um dicionário dicionario_idades = {"Luzia" : 45, "Sidney" : 27, "Suelen" : 27, "Amauri" : 37} item = dicionario_idades.popitem() try:     while item:         print item         # Se o dicionario estiver vazio, popitem lançará uma exceção,         # a qual tratamos logo abaixo.         item = dicionario_idades.popitem() except KeyError:     print "Sem mais itens."
  • 31. Tec. em Sistemas para Internet - IFMS 31 Criando um dicionário "on the fly" for chave, valor in enumerate(['zero', 'um', 'dois']):     print chave, valor ''' 0 zero 1 um 2 dois '''
  • 32. Tec. em Sistemas para Internet - IFMS 32 Transformando duas listas em um dicionário paises = ['Brasil', 'Argentina', 'Uruguai', 'Venezuela', 'Peru'] nacionalidades = ['brasileiro', 'argentino', 'uruguaio', 'venezuelano', 'peruano'] for pais, nacionalidade in zip(paises, nacionalidades):     print "O %s e natural de que pais?nR: %sn"%(nacionalidade, pais) ''' O brasileiro e natural de que pais? R: Brasil O argentino e natural de que pais? R: Argentina O uruguaio e natural de que pais? R: Uruguai O venezuelano e natural de que pais? R: Venezuela O peruano e natural de que pais? R: Peru '''
  • 33. Tec. em Sistemas para Internet - IFMS 33 Referências pa-pe-pi-po-pure Python Text Processing. Disponível em http://www.slideshare.net/rodsenra/papepipopure-python-text-processing. Acessado em 1 de maio de 2013. Strings. Disponível em http://docs.python.org/release/1.5.1p1/tut/strings.html. Acessado em 1 de maio de 2013. Data Structures. Disponível em http://docs.python.org/2/tutorial/datastructures.html. Acessado em 2 de maio de 2013.