2. Introdução
• Python é uma linguagem de
programação fácil de aprender e
poderosa;
• É orientada a objetos;
• Possui uma vasta biblioteca de classes e
funções prontas;
• Python já vem com as pilhas !
3. Introdução
• Um dos princípios de Python é que
seus programas sejam fáceis de ler, ou
seja, nada de chaves, ponto-e-vírgula,
begin, end, etc.
• Além da sua vasta biblioteca, a
linguagem Python pode ser estendida
através novas funções escritas em
Python, C, C++, Java, C#, etc.
4. Quem usa Python ?
• Google - Aplicações Web;
• Yahoo - Aplicações Web;
• Microsoft - IronPython (Python
para .NET);
• Nokia - Python S60 (Python para
celulares);
• Disney - Usa para fazer animações 3D.
5. Versões de Python
• Versão oficial, mantida pela PSF
(Python Software Foundation):
• http://www.python.org
• Python para .NET: IronPython;
• Python para Java: Jython;
• Python em Python (?!): PyPy.
6. Instalando Python
• Os sistemas operacionais Linux e
MacOS já vêm com um interpretador de
Python instalado;
• No Windows é necessário instalar;
• Existem vários interpretadores de
Python disponíveis, o oficial é grátis e
está disponível no endereço:
• http://www.python.org
13. PyDev
• O PyDev é um ambiente de
desenvolvimento integrado para Python
feito sobre a plataforma Eclipse;
• Alguns dos recursos do PyDev são:
• Completar automaticamente;
• Colorir o código;
• Depurador;
• etc.
15. Como instalar
• Existem duas formas:
• Instalação pelo mecanismo de
atualização do Eclipse (instalação
rápida);
• Baixar o pacote completo e
descompactar na pasta “dropins” do
Eclipse.
36. Autoconfig não funcionou
• Se o autoconfig não funcionar você vai:
• Clicar no botão “New”;
• Seleciona o arquivo python.exe
instalado no seu computador
(normalmente este arquivo fica na
pasta C:Python26python.exe);
• Clicar no botão “Ok”.
37. Novo Projeto
Digite o nome do projeto: “Aula1”
1
Clique em “Finish”
2
39. Criando um módulo
• Clique na seta ( ) localizada no lado
esquerdo do projeto para exibir o seu
conteúdo;
• Na pasta “ ” (onde estarão
armazenados os artefator Python)
clique com o botão direito do mouse;
• Selecione a opção “New -> PyDev
Module” ( )
40. Novo módulo
Digite o nome do módulo: “aula1”
1
Clique em “Finish”
2
42. Hello World
• Para variar, vamos fazer um “Hello World”
• Digite no seu módulo a linha:
• print 'Hello World !'
• Com o botão direito do mouse, clique sobre
o seu módulo e selecione a opção “Run As -
> Python Run”;
• No console você verá:
• Hello World !
44. Variáveis
• Variáveis armazenam valores;
• Declarando variáveis:
• nome = valor
• nome1, nome2 = valor1, valor2
• Variáveis podem ser declaradas em qualquer
ponto do código;
• Variáveis precisam ser declaradas/
inicializadas antes de serem utilizadas.
45. Linguagens podem ser:
• Estaticamente tipadas:
• Os tipos são fixados em tempo de compilação;
• Dinamicamente tipadas:
• Os tipos são descobertos em tempo de
execução;
• Fortemente tipadas:
• Os tipos são assegurados;
• Fracamente tipadas:
• Os tipos não importam muito.
46. Python é:
• Ao mesmo tempo:
• Dinamicamente tipada:
• As variáveis são declaradas sem um
tipo;
• O seu tipo é estabelecido na
inicialização;
• Fortemente tipada:
• Após a inicialização, o tipo da variável
importa.
47. Por exemplo:
#Exemplo errado
valor = ‘123’
valor += 4
TypeError: cannot concatenate 'str' and 'int' objects
#Exemplo correto
valor = ‘123’
valor += str(4)
48. Exibindo valores na tela
• print valor
• Ou
• print valor1, valor2, ..., valorN
• É só isso mesmo :)
49. Exemplo
• Usando Python como calculadora:
• print (2 + 2) * 4 / 8
• Você pode usar o console interativo
para fazer os seus testes:
50. Lendo Valores do Teclado
• valor = raw_input( )
• nome = raw_input(“Digite seu nome: “)
51. Exemplo
• Brinque um pouco com os conceitos
aprendidos até agora:
nome = raw_input('Digite o seu nome:')
print 'Bom dia', nome, 'como vai ?'
52. • ATENÇÃO !!!
• Normalmente os interpretadores Python apenas
aceitam que o código seja composto apenas por
caracteres ASCII (ou seja, nada de acentos) !
• Porém, é possível mudar a codificação do texto
aceita;
• No início de um módulo, basta colocar a linha:
Diretiva de pré-processador
• # -*- coding: latin-1 -*-
• Onde latin-1 é a codificação do Português do
Brasil.
55. Strings
• Convertendo para maiúsculas:
• nome.upper( )
• Convertendo para minúsculas:
• nome.lower( )
• Primeiras letras maiúsculas:
• nome.title( )
• Encontrar ocorrência:
• nome.find(‘Ga’) #Retorna 6
56. Strings
• Strings podem ser definidos com aspas simples
(‘) ou aspas duplas (“);
• Também é possível definir Strings de múltiplas
linhas usando aspas triplas (‘’’) ou (“””);
• Ex:
nomes = ‘’‘Joao
Maria
Jose’’’
57. Dicas
• Para descobrir quais são as funções/
métodos de um objeto digite:
• dir (objeto) - exemplo: dir (lista)
• Para obter maiores informações sobre
funções/métodos/objetos digite:
• help (função) - exemplo: dir (str)
Façam o teste !
58. Listas
• Declarando:
• lista = [ ]
• lista = [‘banana’, ‘pera’, ‘tomate’]
• Adicionando:
• lista.append(‘jaboticaba’)
• lista + [‘jaboticaba’]
• Acessando:
• lista[2] # retorna ‘pera’
59. Listas
• Removendo:
• lista.remove(“banana”)
• lista.pop( )
• lista.pop(2)
• Testando:
• “pitanga” in lista
62. Função range
• Retorna uma lista, contendo os valores de um
intervalo;
• Ex:
• range(10) - retorna os números de 0 a 9;
• range(2, 100) - retorna os números de 2 a 99;
• range(10, 0, -1) - retorna os números de 10 a
0 com incremento de -1.
63. Desvios Condicionais
• if condicao:
• código se a condição for verdadeira
• else:
• código se a condição for falsa
64. Desvios Condicionais
• if condicao1:
• código caso a condição 1 for verdadeira
• elif condicao2:
• código caso a condição 2 for verdadeira
• elif condicao3:
• código caso a condição 3 for verdadeira
• else:
• código caso nenhuma das condições for
verdadeira
65. Indentação de Código
• Atenção !!!
• A primeira linha de um bloco define a
indentação das linhas restantes;
• Portanto, a quantidade de espaços/
tabs devem ser mantidas;
• Cuidado para não confundir espaços
por tabs e vice-versa.
66. Exemplo
Testem executar com e sem esta linha !
# -*- coding: latin-1 -*-
nome = raw_input('Digite o seu nome:')
ano = int(raw_input('Em que ano você nasceu ?'))
idade = 2010 - ano
if idade < 18:
print nome, 'é menor de idade'
else:
print nome, 'é maior de idade'
67. Laços
• for - percorre os elementos de uma lista/
tupla;
• Exemplo:
• pessoas = [‘joao’, ‘maria’, ‘ana’, ‘pedro’]
• for pessoa in pessoas:
• print pessoa
68. Função enumerate
• enumerate(lista) - retorna uma lista de
tuplas (indice, valor) para cada um dos
elementos da lista;
• Exemplo:
• for indice, fruta in enumerate(frutas):
• print indice, fruta
69. Desafio
• Faça um programa que leia nomes do teclado até que seja
digitada a palavra ‘sair’;
• Os nomes deverão ser armazenados em uma lista;
• O programa deverá exibir todos os nomes digitados, um por
linha, no formato:
• índice nome
• Ex:
• 1 josé
• 2 maria
• 3 pedro
74. Função open
• A função open possui dois parâmetros;
• O primeiro é o nome do arquivo a ser
aberto;
• O segundo é o modo:
• r - modo read (leitura) - modo padrão;
• w - modo write (escrita);
• a - modo append (adiciona conteúdo ao
final do arquivo).
75. Desafio
• Faça um programa que leia nomes do
teclado até que seja digitada a palavra
‘sair’;
• Os nomes deverão ser armazenados em
um arquivo de texto.
76. Biblioteca de módulos
• Python vem com vários módulos cheios
de funções prontas para serem usadas;
• Para usar um destes módulos é
necessário antes importá-lo:
• import nome_do_módulo
• Exemplo:
• import os
77. Módulos
• Módulos são compostos por classes e
funções;
• É possível importar apenas uma classe ou
função específica de um módulo, ao invés
de importar o módulo todo:
• from modulo import entidade
• Ex:
• from datetime import date
78. Alguns módulos
• os - Funções do sistema operacional;
• datetime - Funções de data e hora;
• math - Funções matemáticas;
• random - Geração de números
aleatórios;
• urllib2 - Acesso a internet;
• smtplib - Envio de emails.
79. Exibindo a data atual
import datetime
#Mostrando a data atual
print datetime.date.today()
80. Exibindo a data atual 2
from datetime import date
#Mostrando a data atual
print date.today()