introdução à programação em python

17
 Programação em Rodrigo Hübner

Upload: rodrigo-huebner

Post on 19-May-2015

2.325 views

Category:

Technology


3 download

DESCRIPTION

Palestra sobre introdução a programação python realizada no Flisol de Maringá em 2008

TRANSCRIPT

Page 1: Introdução à Programação em Python

   

Programação em

Rodrigo Hübner

Page 2: Introdução à Programação em Python

   

Por que usamos python...

 Conceitos fundamentais são fáceis de aprender;

 O mesmo código roda em plataformas Linux, Windows e 

MAC sem alterações;

 Possui uma sintaxe clara e de fácil aprendizado;

 Suporte a uma diversidade muito grande de bibliotecas;

 Tipagem forte e dinâmica;

 Tipos pré definidos são poderosos;

 É livre!

E por aí vai...

Page 3: Introdução à Programação em Python

   

Aonde a cobra anda?

Quer mais? http://pythonology.org/success

● Governo Brasileiro (Website)● CIA (Website)

OLPC – One Laptop per Child

Page 4: Introdução à Programação em Python

   

Interação com outras linguagens

 Cpython

 Jython

 IronPython

 Python for Delphi

 Python for .NET

 Lunatic Python

 PyPy

Page 5: Introdução à Programação em Python

   

SHOW ME THE CODE!

Page 6: Introdução à Programação em Python

   

Aspectos Iniciais...

Tipos já conhecidos:● Inteiros, String, Reais...

Tipos mais poderosos:

● Listas:Ex: lista = [“Fulano”, “Ciclano”, 123, 3.14]

● Tuplas:Ex:  tupla = (“Fulano”, “Ciclano”, 123, 3.14)

● Dicionários:Ex: dict = {1: “Eu”, 2: “Você”, 3: “Eles”}

Page 7: Introdução à Programação em Python

   

Aspectos Iniciais...

Uso do interpretador interativo

for numero in range (5):print numero

01234

Ajuda! dos métodos primitivos:● dir(), help(), type()

Projetos Interessantes:● Ipython● Reinteract

Page 8: Introdução à Programação em Python

   

Aspectos Iniciais...

Exemplo “iniciante”:

01 # ­*­ coding: utf­8 ­*­0203 import threading04 import time0506 def conversa(*args):07 for frase in args:08 print frase09 time.sleep(2)1011 pessoa1 = ("Fulano: E aí Ciclano", "Fulano: programo em Python!")12 pessoa2 = ("Ciclano: E aí Fulano, programa e que?", "Ciclano: Bom garoto!!! :)")1314 threading.Thread (target=conversa, args=pessoa1).start()15 time.sleep(1)16 threading.Thread (target=conversa, args=pessoa2).start()

Código que simula um diálogo entre duaspessoas usando “thread”

Page 9: Introdução à Programação em Python

   

Aspectos mais interessantes!

Um laço for simplesmente...

dados = ['Flisol', 'Rodrigo', 'Maringa']for itens in dados:

print itens

FlisolMaringaRodrigo

for item in range(5):print item**2,

0 1 4 9 16

+Um pouco de conceitos matemáticos...

A = {x² : x Є {0 ... 9}}B = (1, 2, 4, 8, ... 2¹²)C = {x | x Є A e x é par}

= List Comprehensions!

Page 10: Introdução à Programação em Python

   

Aspectos mais interessantes!

List Comprehensions

● A = {x² : x Є {0 ... 9}}

a = [x**2 for x in range(10)]a[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

● B = (1, 2, 4, 8, ... 2¹²)

[2**i for i in range(13)][1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096]

● C = {x | x Є A e x é par}[x for x in a if x % 2 == 0][0, 4, 16, 36, 64]

Page 11: Introdução à Programação em Python

   

Aspectos mais interessantes!

Função de uma linha: lambda() + Listas (ou List Comprehensions) = Map

frase = 'O rato roeu a roupa do rei de roma'palavras = frase.split()palavras

jaspion = map(lambda w: [w.upper(), w.lower(), len(w)], palavras)for i in jaspion:

print i

Page 12: Introdução à Programação em Python

   

Aspectos mais interessantes!

Iteradores e Geradores

def  sequencia(numero):i = numerowhile True:

i += 1yield i

valores = sequencia(10)valores.next()11valores.next()12...

Page 13: Introdução à Programação em Python

   

Orientação a Objetos

class Pessoa(object):

def __init__ (self, nome, telefone):self.nome = nomeself.telefone = telefone

def escreve(self):print “Nome: ”+self.nomeprint “Telefone: ”+self.telefone

Exemplo simples:Uso:

pessoa = Pessoa(“Fulano”, “2222 – 8754”)pessoa.escreve()Fulano2222 – 8754

Em python e possível implementa herança multipla!

Page 14: Introdução à Programação em Python

   

Desenvolvimento para todos os gostos!!!

WEBDjango;

Zope / Plone;Pylons;

Turbo Gears;mod_python;

...

DesktopTkinter;PyGTK;PyQT;

wxPython;...

ProcessamentoImagens / scripts

PIL;PythonMagick;GIMP­Python;

...

CiênciaScipy;

BioPython;AstroPy;NumPy;

...

BDZOBD;gadfly;

Postgres;MySQL;

...

DiversãoPyGameBlender

...

Page 15: Introdução à Programação em Python

   

# Importa o módulo do PostegreSQLimport PgSQL

# Faz conexão com o banco de dadosdb = PgSQL.connect(host='host', database='bd', 

      user='usuario',password='senha')

# Cria um cursorcursor = db.cursor()

# Executa o SQLcursor.execute("SELECT * FROM tabela")

# Recebe um conjunto de resultado em forma de “tupla”result = cursor.fetchall()

# Navega pelos resultados armazenados na tuplafor record in result:

print record[0] , "­­>", record[1]

Uso de banco de dados: PostgreSQL

Page 16: Introdução à Programação em Python

   

PERGUNTAS?

Rodrigo HübnerE­mail: [email protected]

http://rodrigohubner.com

Page 17: Introdução à Programação em Python

   

Referencias Bibliográficas

http://pythonbrasil.com.brhttp://www.reinteract.orghttp://ipython.scipy.orghttp://djangoproject.org

Livros:Learning to PythonBeginning Game Development with Python and PygameDive into Python

Canal IRC:#python­br (serv. FreeNode)

Lista de Discussão:python­brasil (yahoo grupos)grupy­pr (google grupos)