O Prazer De Trabalhar Com Python
Upcoming SlideShare
Loading in...5
×
 

O Prazer De Trabalhar Com Python

on

  • 2,589 views

 

Statistics

Views

Total Views
2,589
Views on SlideShare
2,542
Embed Views
47

Actions

Likes
0
Downloads
44
Comments
0

3 Embeds 47

http://www.marinhobrandao.com 32
http://www.slideshare.net 12
http://marinhobrandao.com 3

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

O Prazer De Trabalhar Com Python O Prazer De Trabalhar Com Python Presentation Transcript

  • O Prazer de Trabalhar com Python Marinho Brandão, 6º FGSL, 2009, Goiânia
  • Quem é o palestrante
  • Quem é o palestrante
    • É pragmático View slide
    • Não tem ensino superior View slide
    • Desenvolvedor há 13 anos
    • Autônomo, consultor e desenvolvedor
    • Co-fundador da comunidade Django brasileira
    • Autor do Geraldo Reports
    • Programador Python do Ano em 2009
  • O que é Python?
  • O que é Python?
    • Criada por Guido van Rossum em 1990
    • Multi-plataforma (Windows, Linux, Mac, celulares, etc.)
    • Compilada, Interpretada, JVM, .Net, etc.
    • Multi-paradigma (OOP, AOP, Estruturada, Script, Funcional, etc.)
    • Fácil de aprender e entender
    • Explícita, edentada e interativa
    • Software livre compatível com GPL
  • Exemplos de código
  • Exemplo: Cálculo de Fibonacci # -*- coding: utf-8 -*- a = 1 b = 1 while a < 500: print a a, b = b, a + b Exemplo simples que imprime a sequência Fibonacci até 500
  • Exemplo: captura da web # -*- coding: utf-8 -*- import urllib, re, sys URL_RAIZ = 'http://www.euprecisode.com.br' def efetuar_busca (palavra): fp = urllib.urlopen( '%s/pesquisa/?q=%s' %(URL_RAIZ, palavra)) cont = fp.read() fp.close() expressao = '<a href=&quot;(.*?)&quot; class=&quot;fn org&quot;>(.*?)</a>' return re.findall(expressao, cont, re.I | re.M) if __name__ == '__main__' : palavra = len(sys.argv) > 1 and sys.argv[1] or 'emprego' for url, titulo in efetuar_busca(palavra) : print titulo.ljust(50), URL_RAIZ + url Exemplo que código que captura o resultado de uma URL e usa expressão regular para listar os ítens encontrados
  • Exemplo: Orientação a Objetos class Vida(object): def __init__(self, antecedentes=None, nome='Sem Nome'): self.antecedentes, self.nome = antecedentes, nome def reproduzir(self, **kwargs): return Vida(antecedentes=(self,), **kwargs) def __repr__(self): return self.nome class Animal(Vida): def reproduzir(self, parceiro, **kwargs): return Animal(antecedentes=(self,parceiro), **kwargs) def andar(self): print self.nome, 'Andou' ameba_pai = Vida(nome='Papai Ameba') ameba_filha = ameba_pai.reproduzir(nome='Amebinha') print ameba_pai, 'e', ameba_filha, 'foram passear juntos' cao_pai, cao_mae = Animal(nome='Tchucao'), Animal(nome='Tchucadela') cao_filho = cao_pai.reproduzir(cao_mae, nome='Tchutchuquinho') print cao_pai, ',', cao_mae, 'e', cao_filho
  • Exemplo: Orientação a Aspectos from datetime import datetime def registra_log(func): def registrar_funcao(func): print '--- funcao %s registrada'%func def registrar_log_e_executar(*args, **kwargs): print '---', datetime.now().strftime('%H:%M:%S'), args return func(*args, **kwargs) return registrar_log_e_executar return registrar_funcao(func) def escrever1(palavra): print palavra @registra_log def escrever2(palavra): print palavra print '-' * 80 escrever1('Ola pessoal'); escrever1('Como vao, tudo bem?') print '-' * 80 escrever2('Ola pessoal'); escrever2('Como vao, tudo bem?') print '-' * 80
  • Exemplo: Programação Funcional lista = ['Goiania-GO','Anapolis-GO','Brasilia-DF'] lista.sort() print lista lista.sort( lambda a,b: cmp(a.split('-')[1], b.split('-')[1])) print lista print map( lambda a: a.upper(), lista) print filter( lambda a: a.endswith('-GO'), lista) print list(enumerate(lista)) outra_lista = ['capital','interior','capital'] print zip(lista, outra_lista) listao = [lista, outra_lista] print listao print reduce( lambda a,b: a+b, listao)
  • Quem usa Python
  • Quem usa Python
    • Google
    • YouTube
    • Globo.com
    • Terra
    • Yahoo
    • Politec
    • Interlegis
    • Serpro
    • World News
    • Novell
    • CIA
    • NASA
    • DataPrev
    • Canonical
    • RedHat
    • Nokia
    • Ubuntu
    • OpenOffice
    • Blender
    • Gimp
  • Frases relevantes
  • Frases relevantes ”[...] nossa filosofia geral é 'Python onde podemos, C++ onde somos obrigados.' Python não é definitivamente apenas um pequeno pedaço, nem é usado apenas para tarefas 'de scripting'; se ficássemos sem todo nosso código Python de uma hora para outra, nossa poderosa infra-estrutura que tem sido descrita como 'a arma secreta do Google' ficaria abalada.” Alex Martelli , Líder Técnico, Sistemas de Produção, Google Inc. ”Python é rápido o suficiente para o nosso site e permite que nós produzamos características que pode ser mantidas em tempo recorde, com um mínimo de desenvolvedores.” Cuong Do , Arquiteto de Software, YouTube.com http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ http://www.python.org/about/quotes/
  • Frases relevantes ”Python desempenha um papel-chave no nosso esquema de produção. Sem ela um projeto do tamanho de 'Guerras de Estrela: Episódio II' teria sido muito difícil de sair. Da renderização da multidão ao processamento em lote e a composição, Python mantém todas as partes unidas.” Tommy Burnette , Diretor Técnico Sênior, ILM ”A nossa equipe tem baseado a transição de Perl para Python na facilidade. Há três razões primárias para isso. A criação de bindings em Python para uma biblioteca C++ é muito fácil [...]. A natureza orientada a objeto de Python é muito atraente [...]. E Python é uma cidadã de primeira classe [...] na nossa indústria.” Darin Grant , Chefe de Produção de Tecnologia, DreamWorks http://www.python.org/about/quotes/ http://marrcandre.blogspot.com/2007/06/linux-alimentando-o-ogro.html
  • Perguntas? Marinho Brandão [email_address] http://www.marinhobrandao.com http://www.aprendendodjango.com