• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
O Prazer De Trabalhar Com Python
 

O Prazer De Trabalhar Com Python

on

  • 2,435 views

 

Statistics

Views

Total Views
2,435
Views on SlideShare
2,388
Embed Views
47

Actions

Likes
0
Downloads
39
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
      • Não tem ensino superior
      • 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