Iniciação Ao Python
Iniciação Ao Python
Sobre
●
Criada por Guido van Rossum em 1991
●
Nome inspirado pelo grupo de comédia Monty Python
●
Linguagem interpretada, de tipagem dinâmica e forte
http://pt.wikipedia.org/wiki/Python
Por que Python?
●
Foque na lógica sem se preocupar com a
sintaxe
●
Interativa
●
Bibliotecas inclusas (re, random, math, urllib2, time,
zlib, threading, tkinter, PIL, numpy, etc)
●
Orientada a objetos, funcional ou estruturada
●
Uso geral
●
Multi-plataforma
●
Fácil de aprender
Por que Python?
http://en.wikipedia.org/wiki/List_of_Python_software
●
Blender 3D - 3D art and animation program
●
Django, web2py - web framework
●
PyGTK, PyQt, PySide - GUI
●
Biopython - Python molecular biology suite
●
SciPy - Alternativa gratuita para MATLAB
●
Matplotlib - MATLAB-like plotting and mathematical functions
Quem usa Python?
Quem usa Python?
Quem usa Python?
Back-end
Quem usa Python?
Animações gráficas
Quem usa Python?
Computação Gráfica/Renderização
Quem usa Python?
Computação Gráfica/Renderização
Hello World!
“Hello World” em Java
“Hello World” em C
Hello World!
“Hello World” em python
Conceitos Básicos
●
Case sensitive
●
Identação
●
Operações matemáticas (+ - * / ** %)
●
Números grandes
●
Inteiros e quebrados
●
Operações Lógicas (== != > < and or)
●
type()
●
Strings
Variáveis
●
Nada a declarar!
●
Variáveis são postites:
a = 30
id(a) == id(30)
●
Dinamicamente tipada
●
Função str()
a = 20
a + “laranja” ← ERRADO!!!
str(a) + “laranja” ← CERTO =D
Marcações
●
Imprimindo variáveis
●
print “a = %d” %(a)
●
print “Pi = %.2f” %(3.1415)
●
print “a =”, a
●
print “a = {0} e b = {1}” .format(a, b)
●
Aspas simples e duplas
●
Atribuições múltiplas
a, b = 1, 2
Entrada de Dados
●
raw_input()
●
Entrando com inteiros e float
Condições
●
while():
●
Imprimindo números até um fim (e o
conceito de contador)
Exercício
●
Listas são como vetores em C
●
Uma mesma lista pode armazenar qualquer outro
tipo de dado, incluindo outra lista
●
Inicializamos uma lista vazia da seguinte forma:
lista = []
●
Ou uma lista com elementos da seguinte forma:
lista = [“Vinicius”, 19, “laranja”, 3.1415]
Listas
●
Acessamos listas por índices:
Listas
●
Acrescentamos itens ao final da lista da seguinte
forma:
●
Não é possível acrescentar itens em uma lista
utilizando índices, mas podemos modificar itens
Listas
●
Se estiver na lista, ou se não estiver
Listas
●
Função len()
A função len() retorna o tamanho. Pode ser o
tamanho de uma string ou o tamanho de uma
lista por exemplo
Exercício
Desafio:
Faça um programa que leia dez caracteres e diga
quantas consoantes foram lidas
Resposta do Desafio
Strings
●
Acessando por índices
●
Última posição
●
Da posição m até a n-1
●
Pulando de dois em dois
●
De trás para frente
●
Strings são imutáveis
●
startswith, endswith, lower, upper, find, replace,
split, join
Exercício
Entrada: 10/09/1994
Saída: 10 de setembro de 1994
●
Dica: Utilize uma lista para guardar os nomes dos
meses.
Repetições II
●
for in “abcdefghi”
●
range(10)
●
range(5, 10)
●
for in lista:
Tratamento de Exceções
●
try, except, else, finally
Módulo Random
●
help(random)
●
randint(1, 10)
●
choice(lista ou string)
●
shuffle(lista)
Exercício
●
Funções em python são muito fáceis!
Não precisamos nos preocupar com o retorno
●
Se o retorno for float, a função retorna float
automaticamente. Isso serve para todos os tipos
de dados.
●
Se não existir o comando “return” ela
simplesmente não retorna nada
Funções
●
Exemplo de função que não retorna nada
●
Um outro conceito importante que devemos ver é
o escopo das variáveis. Uma variável pode ser
global ou local. Por padrão a variável é local. Para
torná-la global precisamos dizer para a função
que ela é global. Veremos no próximo slide um
exemplo que ilustra isso
Funções
Saída
●
Podemos ver que a funcao1() não altera o valor
da variável global. Já a funcao2() altera. Para isso
utilizamos o identificador “global” que diz que a
variável “a” que estamos nos referindo é global.
Caso a variável a não existisse, a funcao2() criaria
um variável global
chr() e ord()
●
A letra “A” (maiúscula), na tabela ASCII é
representada pelo número 65
●
Podemos ver isso em python utilizando a função
ord(). Tente ord(“A”) no modo interativo.
●
Podemos fazer o contrário também, utilizando a
função chr(). Tente chr(110) no modo interativo.
Cifra de César
●
Cifra de César é uma das mais simples e
conhecidas técnicas de criptografia. Ela consiste
em mover É um tipo de cifra de substituição na
qual cada letra do texto é substituída por outra
representada no mesmo alfabeto. A substituição
ocorre alterando a posição definida.
●
Por exemplo:
Texto normal: ABCDE
Texto criptografado: CDEFG
●
É como fazer:
letra = letra + 2 posições
Exercício
Exemplo:
●
Isso pode ser muito útil para criar uma página em
html.
Arquivos
●
Vamos agora manipular arquivos com python.
Para abrir arquivos usamos a função open()
●
Essa função recebe dois parâmetros. O primeiro é
o caminho do arquivo. O segundo é o modo como
ele será aberto.
●
O arquivo pode ser aberto para leitura (r),
gravação (w) ou atualização (a).
●
Vejamos um exemplo
Arquivos
●
Quando utilizamos a função open() sem o
segundo argumento, o arquivo é aberto
automaticamente como leitura (mode 'r')
●
Utilizamos read() para ler o conteúdo do arquivo
e split() para retirar o \n.
Arquivos
Arquivo depois
Instruções Arquivo antes
das instruções
das instruções
●
Quando utilizamos o argumento “w”, se o arquivo
existir, seu conteúdo será sobrescrito
●
Antes de sair do programa, devemos sempre
fechar o arquivo com close()
Arquivos
●
Mas se utilizarmos o argumento “a” (append)
iremos atualizar o arquivo, escrevendo no final do
mesmo
Arquivo depois
Instruções Arquivo antes
das instruções
das instruções
Dicionário
●
Dicionário é como uma lista. Porém, acessamos
os índices através de chaves. Inicializamos um
dicionário com {}
●
Para adicionar novos itens não precisamos utilizar
append. Basta fazer a atribuição.
-Se a chave já existir, o valor será alterado
-Se a chave não existir, será criada
Exercício
1 – Faça um programa que o usuário digitará o
nome e a idade de dez pessoas. Os dados digitados
devem ser armazenados em um dicionário. No
final, exiba o nome de todas as pessoas seguidas
de suas respectivas idades.
Resposta
Desafio
1 – Faça um programa que leia o arquivo alice.txt e
calcule o número de ocorrências de cada palavra.
●
Dica: Para evitar problemas com acentuações e
pontuações, vamos ver uma técnica interessante
para preparar o nosso texto.
●
Utilizaremos a biblioteca string
●
Dica 2: Faça todas as palavras serem minúsculas
frase = frase.lower()
Dica
Resposta
Dúvidas / Críticas / Sugestões?