Sematec 2014
Palestrantes:
Álvaro Oliveira e Guilherme Esmeraldo
Roteiro
Breve Histórico
Características
Por que Python?
Quem Usa?
Como Usar?
Breve Histórico
Linguagem Criada em 1990, Por Guido van Rossun
Foco em usuários como físicos e engenheiros
Python foi concebida através de uma linguagem chamada
ABC
Características
Linguagem Interpretada
Tripagem dinâmica
Controle de Bloco é feita por indentação
Oferece tipos de alto nível
E orientado a objetos
Fácil aprendizado
Open Source
Biblioteca padrão muito rica
Características
Multiplataforma:
Linux/Unix, Windows, Symbian, MacOSX, etc
Multiparadigma:
Procedural, Orientado a Objetos e Funcional
Por que Python?
Os conceitos fundamentais da linguagem são simples de entender;
A sintaxe do Python é clara e fácil de aprender;
Os tipos pré-definidos em Python são poderosos e simples de usar;
O interpretador Python permite aprender e testar rapidamente
trechos de código
Python é expressivo, com abstrações de alto nível => código curto e
rápido desenvolvimento
Por que Python?
Prototipação rápida
Desenvolvimento Web
Acesso a banco de dados
Código “enxuto”!
Computação numérica e científica
Jogos
3D
Quem Usa?
Google (aplicações Web).
Yahoo (aplicações Web).
Microsoft (IronPython: Python para .NET).
Nokia (disponível para as linhas recentes de celulares e
PDAs).
Disney (animações 3D).
Funceme(aplicações com Radares)
Mais casos:
http://www.python.org/about/success/
Como Usar?
Nas linguagens Interpretadas é executada utilizando o
interpretador lê o código fonte e interpreta diretamente,
durante a sua execução.
Tanto pode utilizar no Shell ou Uma IDE
Instalando
Instalando
Entre no link http://www.python.org/getit/ e baixe
para sua plataforma.
No windows: clique duas vezes, next, next, … e finish.
No linux: qualquer distribuíção já vem com Python!
IDE Disponíveis
Idle :
Já vem com o Python. É bem simples de ser usado também.
Komodo-Edit:
E uma excelente opção de editor, bastante rico em recursos tais como
autocomplete, multi-language e outros.
Eclipse:
Ideal para desenvolvimento Java. Mas existem plugins para se desenvolver
em Python.
Pycham
E proprietário, Possui um conjunto de ferramentas úteis para um
desenvolvimento produtivo.
Utilizando o Shell no LINUX
Para chamar o interpretador Python apenas digite “python” no
prompt do shell:
$ python
Python 2.5.1 (r251:54863, Sep 4 2007, 19:00:19)
[GCC 4.1.2] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
>>>
Quando o shell é iniciado aparecerão três „>‟ (“>>>”) indicando que
ele está ativo e pode receber comandos
Utilizando o IDLE
Acessar IDLE, depois em file e New
File (ctrl + n), abrindo o editor para
desenvolver o programa .
Meu Primeiro Programa
Saida
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
JAVA
}
}
Print “Hello, World!”
Python
Saída
No Shell No IDLE
Salvar com a extensão .py Para salvar, file e save (Ctrl+S)
Exemplo: alomundo.py e com extensão .py
Entre na pasta que está o arquivo Em seguida em Run, para
rodar o programa.
cd nomedapasta
Em seguida, rodar o comando:
python alomundo.py
Definições de Variáveis
Sintaxe
nomeDaVariavel = valorAtribuido
nome = “python” #String
num = 1 # valor inteiro
preco = 10.99 # valor ponto flutuante
t = True # valor booleano
Descobrir o tipo atual de uma variável, utiliza a função type()
type(nome)
Entrada
Sintaxe:
nomeDaVariavel = input(‟Texto para Saída‟)
Para capturar informações do usuário podemos usar duas
funções:
input(“mensagem”)
Espera que o usuários digite comandos
ou valores
raw_input(“mensagem”)
Espera strings
Delimitações
Uso de “;” no fim de comandos não é obrigatório
Blocos delimitados por identação
Não é um erro
sintático, mas é
desnecessário
def soma(a): e portanto
. . . .return a+1 deselegante
print soma(10)
Comentários
Comentários de são feitos usando „#‟
Para comentários de bloco pode-se usar string multilinhas com
„”””‟
“”” def inc(a):
. . . .return a+1”””
#print inc(10)
Codificação do Arquivo
A codificação é necessário para suportar caracteres que não fazem
parte da linguagem inglesa, no código fonte do programa
o texto “#-*- coding: <encoding> -*#-” no inicio do arquivo, no
qual <encoding> é a codificação do arquivo (geralmente latin1 ou
utf-8)
#!/usr/bin/env python Indica o caminho
para o
#-*-coding:utf-8-*- interpretador
usado em sistemas
UNIX
Importando Módulos Externos
Existe duas Forma de Importar Módulos externos:
Pelo comando import:
import <modulo>
Pelo comando from:
from<modulo>import <moduloespecifico>
Exercício:
1. Faça um programa que leia da entrada padrão um
número, em seguida imprima ele na tela.
2. Agora faça um programa que leia dois números e em
seguida imprime o resultado da multiplicação deles
Controle de Fluxo
Nada de parênteses! Nada de chaves!
IF
if <condição>:
<bloco de código>
elif <condição>:
<bloco de código>
else:
<bloco de código>
Usando If
#! /usr/bin/python
# -*- coding: iso-8859-1 -*-
x = input("Entre com um numero inteiro: ")
if x < 0:
print 'Numero negativo'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Um'
else:
print 'Numero positivo'
Controle de Fluxo
O loop While, tem como função repetir um bloco de
comando ate que aconteça uma parada.
while expressão2:
Comando3
...
Controle de Fluxo
O for em Python podemos “varrer” uma sequencia que se difere
de outra linguagens por ser utilizado como iterador de progressão
aritmética.
for variavel in rage(ni,nf-1):
for variavel in lista
Cria uma lista a partir do
inteiro ni até o inteiro nf-1
Exemplo for
for contador in range(1,6):
print contador
1
2
3
4
5
Estrutura de Dados: Listas [ ]
É uma sequência de valores indexadas por um inteiro. Uma lista
pode conter qualquer tipo de valor, incluindo valores de tipos
mistos.
numeros = [1, 2, 3]
nomes = [ 'alberto', 'carlos', 'simone' ]
misto = [ 1,2,'alberto',3.5,'simone' ]
listas = [ numeros, nomes, misto ]
Estrutura de Dados: Listas [ ]
Os elementos da lista podem ser acessados por meio de índices que
vão de 0 até o comprimento da lista-1
lista = [ „maria‟,‟paulo‟,‟jose‟,‟carlos‟]
0 1 2 3
>>> lista [0]
maria
Estrutura de Dados: Listas [ ]
Fatias, ou slices, de uma lista podem ser geradas
facilmente com o “:”
Lista = [inicio:final]
>>> n = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ]
>>> n[2:4]
[3, 4]
Estrutura de Dados: Listas [ ]
Métodos Uteis
0 1
1 2 lista.remove(2)
2 3
3 4
lista.pop()
lista.append(8) lista.extend(lista2)
Exercício:
1. Faça um programa que leia da entrada padrão um
número, em seguida adicione e imprima a lista .
2. Seguindo o exemplo anterior:
Crie uma nova lista e adicione na lista anterior;
Remova um elemento na Posição 4;
Imprima toda a lista;
Python: Orientado a Objeto
“Orientação a objetos, OO, é um termo que descreve uma série de
técnicas para estruturar soluções para problemas computacionais.
é um paradigma de programação no qual um programa e
estruturado em objetos, e que enfatiza os aspectos abstração,
encapsulamento, polimorfismo e herança.”
E tudo é um Objeto
Tudo em Python é no fim um objeto!
list3.append(„a‟)
Novos objetos (classes) podem ser facilmente adicionados aos
tipos de dados já existentes em Python!
De fato, programar em Python é normalmente feito de forma
orienta da objetos!
Definição de uma Classe
A forma mais simples de definição de uma classe pode
ser descrita dessa maneira:
>>> class NomeDaClasse:
<comando-1>
.
.
.
<comando-N>
Definição de uma Classe
Exemplo:
class HelloMundo: #Definindo a Classe
def alomundo(self): #Definindo o Método
print “Ola Mundo“
alo=HelloMundo() #criando uma instância da classe
alo.alomundo()
Argumento do Método self
• Em todos métodos associados à instância definido dentro
de uma classe devem ter o argumento self definido como
primeiro argumento.
• Maior flexibilidade na chamada de métodos.
• É a referência para a própria instância da classe
• Mesmo que você tem um método que não recebe nenhum
argumento, ainda assim você deve definir que este tenha
o argumento self.
Construtor da Classe
• _init_(), é um método especial que é invocado
automaticamente quando um novo objeto é criado e que
inicializa os atributos deste objetos.
class Hello:
def _init_ (self,nome):
self.nome = nome
Duvidas?