SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Programação em



       Rodrigo Hübner




              
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...

                                    
Aonde a cobra anda?




    ● Governo Brasileiro (Website)
    ● CIA (Website)




                                          OLPC – One Laptop per Child




                Quer mais? http://pythonology.org/success
                                      
Interação com outras linguagens

                  Cpython
                   Jython
                 IronPython
              Python for Delphi
               Python for .NET
               Lunatic Python
                    PyPy




                       
SHOW ME THE CODE!




             
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”}



                                              
Aspectos Iniciais...

    Uso do interpretador interativo

    for numero in range (5):
         print numero
    0
    1
    2
    3                     Ajuda! dos métodos primitivos:
    4                     ● dir(), help(), type()




                                               Projetos Interessantes:
                                               ● Ipython
                                               ● Reinteract




                                           
Aspectos Iniciais...

Exemplo “iniciante”:

     01   # ­*­ coding: utf­8 ­*­
     02                                      Código que simula um diálogo entre duas
     03   import threading                          pessoas usando “thread”
     04   import time
     05
     06   def conversa(*args):
     07        for frase in args:
     08              print frase
     09              time.sleep(2)
     10
     11   pessoa1 = ("Fulano: E aí Ciclano", "Fulano: programo em Python!")
     12   pessoa2 = ("Ciclano: E aí Fulano, programa e que?", "Ciclano: Bom garoto!!! :)")
     13
     14   threading.Thread (target=conversa, args=pessoa1).start()
     15   time.sleep(1)
     16   threading.Thread (target=conversa, args=pessoa2).start()

                                              
Aspectos mais interessantes!

    Um laço for simplesmente...

    dados = ['Flisol', 'Rodrigo', 'Maringa']       for item in range(5):
    for itens in dados:                                  print item**2,
          print itens
                                                   0 1 4 9 16
    Flisol
    Maringa
    Rodrigo
                             +
     Um pouco de conceitos matemáticos...

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


                                                
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]



                                                  
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




                                                     
Aspectos mais interessantes!


    Iteradores e Geradores


                       def  sequencia(numero):
                            i = numero
                            while True:
                                 i += 1
                                 yield i

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




                                          
Orientação a Objetos

Exemplo simples:
                                                 Uso:
class Pessoa(object):
                                                 pessoa = Pessoa(“Fulano”, “2222 – 8754”)
     def __init__ (self, nome, telefone):        pessoa.escreve()
          self.nome = nome                       Fulano
          self.telefone = telefone               2222 – 8754

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




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




                                              
Desenvolvimento para todos os gostos!!!


       WEB                Desktop           Processamento
      Django;              Tkinter;        Imagens / scripts
    Zope / Plone;          PyGTK;                 PIL;
       Pylons;              PyQT;            PythonMagick;
    Turbo Gears;          wxPython;          GIMP­Python;
    mod_python;               ...                  ...
         ...

      Ciência               BD               Diversão
       Scipy;              ZOBD;              PyGame
     BioPython;            gadfly;            Blender
      AstroPy;            Postgres;              ...
      NumPy;              MySQL;
         ...                 ...


                                   
Uso de banco de dados: PostgreSQL

    # Importa o módulo do PostegreSQL
    import PgSQL

    # Faz conexão com o banco de dados
    db = PgSQL.connect(host='host', database='bd', 
                       user='usuario',password='senha')

    # Cria um cursor
    cursor = db.cursor()

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

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

    # Navega pelos resultados armazenados na tupla
    for record in result:
          print record[0] , "­­>", record[1]



                                             
PERGUNTAS?




          Rodrigo Hübner
    E­mail: rhubner@gmail.com
     http://rodrigohubner.com

                
Referencias Bibliográficas

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

    Livros:
         Learning to Python
         Beginning Game Development with Python and Pygame
         Dive into Python

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

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



                                          

Contenu connexe

Tendances

Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em PythonRober Guerra
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Daniel Brandão
 
Equação do 1º e 2º grau
Equação do 1º e 2º grauEquação do 1º e 2º grau
Equação do 1º e 2º grauZaqueu Oliveira
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Aula Funções Inorgânicas
Aula Funções InorgânicasAula Funções Inorgânicas
Aula Funções InorgânicasNai Mariano
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...Marcello Thiry
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaRanilson Paiva
 
Soluções - resolução de exercícios
Soluções - resolução de exercíciosSoluções - resolução de exercícios
Soluções - resolução de exercíciosMateusCoelho36
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteFelipe Belarmino
 
Apresentação apa 2017 ed. compacta (1)
Apresentação apa 2017   ed. compacta (1)Apresentação apa 2017   ed. compacta (1)
Apresentação apa 2017 ed. compacta (1)Biblioteca FEAUSP
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Distribuição Eletrônica - Diagrama de Linus Pauling
Distribuição Eletrônica - Diagrama de Linus PaulingDistribuição Eletrônica - Diagrama de Linus Pauling
Distribuição Eletrônica - Diagrama de Linus PaulingTabela Periódica
 

Tendances (20)

Poo
PooPoo
Poo
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
1 ano função afim
1 ano   função afim1 ano   função afim
1 ano função afim
 
Solução tampão
Solução tampãoSolução tampão
Solução tampão
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Equação do 1º e 2º grau
Equação do 1º e 2º grauEquação do 1º e 2º grau
Equação do 1º e 2º grau
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula Funções Inorgânicas
Aula Funções InorgânicasAula Funções Inorgânicas
Aula Funções Inorgânicas
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
 
Linguagem Assembly
Linguagem AssemblyLinguagem Assembly
Linguagem Assembly
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à Disciplina
 
Soluções - resolução de exercícios
Soluções - resolução de exercíciosSoluções - resolução de exercícios
Soluções - resolução de exercícios
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuante
 
Apresentação apa 2017 ed. compacta (1)
Apresentação apa 2017   ed. compacta (1)Apresentação apa 2017   ed. compacta (1)
Apresentação apa 2017 ed. compacta (1)
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Distribuição Eletrônica - Diagrama de Linus Pauling
Distribuição Eletrônica - Diagrama de Linus PaulingDistribuição Eletrônica - Diagrama de Linus Pauling
Distribuição Eletrônica - Diagrama de Linus Pauling
 

En vedette

Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programaçãoGivanaldo Rocha
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Djangofabiocerqueira
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreÁlvaro Justen
 
Python no Celular
Python no CelularPython no Celular
Python no Celulariuridiniz
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaÁlvaro Justen
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolsoJean Lopes
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Installing Python on Windows OS
Installing Python on Windows OSInstalling Python on Windows OS
Installing Python on Windows OSWei-Wen Hsu
 
python: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicospython: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicosAdriano Petrich
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoBernardo Fontes
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Testes pythonicos com pytest
Testes pythonicos com pytestTestes pythonicos com pytest
Testes pythonicos com pytestviniciusban
 

En vedette (18)

Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programação
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
REST com Python
REST com PythonREST com Python
REST com Python
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Django
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware Livre
 
Python no Celular
Python no CelularPython no Celular
Python no Celular
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolso
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
Installing Python on Windows OS
Installing Python on Windows OSInstalling Python on Windows OS
Installing Python on Windows OS
 
python: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicospython: Listas, deques, Dicionarios e outros monstros mitologicos
python: Listas, deques, Dicionarios e outros monstros mitologicos
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazo
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Testes pythonicos com pytest
Testes pythonicos com pytestTestes pythonicos com pytest
Testes pythonicos com pytest
 

Similaire à Por que usar Python: conceitos fundamentais, bibliotecas, aplicações e projetos

Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It YourselfBruno Nascimento
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?Felipe Volpone
 
Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Marco Mendes
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Marco Mendes
 
Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Marco Mendes
 
Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Juliano Atanazio
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Marco Mendes
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Por que Python?
Por que Python?Por que Python?
Por que Python?gsroma
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Pythonrodrigopex
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 

Similaire à Por que usar Python: conceitos fundamentais, bibliotecas, aplicações e projetos (20)

Python
PythonPython
Python
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Aula python
Aula pythonAula python
Aula python
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?
 
Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009
 
Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Por que Python? - FURB - 2009
Por que Python? - FURB - 2009
 
Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Por que Python?
Por que Python?Por que Python?
Por que Python?
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 

Por que usar Python: conceitos fundamentais, bibliotecas, aplicações e projetos

  • 1. Programação em Rodrigo Hübner    
  • 2. 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...    
  • 3. Aonde a cobra anda? ● Governo Brasileiro (Website) ● CIA (Website) OLPC – One Laptop per Child Quer mais? http://pythonology.org/success    
  • 4. Interação com outras linguagens  Cpython  Jython  IronPython  Python for Delphi  Python for .NET  Lunatic Python  PyPy    
  • 5. SHOW ME THE CODE!    
  • 6. 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”}    
  • 7. Aspectos Iniciais... Uso do interpretador interativo for numero in range (5): print numero 0 1 2 3 Ajuda! dos métodos primitivos: 4 ● dir(), help(), type() Projetos Interessantes: ● Ipython ● Reinteract    
  • 8. Aspectos Iniciais... Exemplo “iniciante”: 01 # ­*­ coding: utf­8 ­*­ 02 Código que simula um diálogo entre duas 03 import threading pessoas usando “thread” 04 import time 05 06 def conversa(*args): 07 for frase in args: 08 print frase 09 time.sleep(2) 10 11 pessoa1 = ("Fulano: E aí Ciclano", "Fulano: programo em Python!") 12 pessoa2 = ("Ciclano: E aí Fulano, programa e que?", "Ciclano: Bom garoto!!! :)") 13 14 threading.Thread (target=conversa, args=pessoa1).start() 15 time.sleep(1) 16 threading.Thread (target=conversa, args=pessoa2).start()    
  • 9. Aspectos mais interessantes! Um laço for simplesmente... dados = ['Flisol', 'Rodrigo', 'Maringa'] for item in range(5): for itens in dados: print item**2, print itens 0 1 4 9 16 Flisol Maringa Rodrigo + Um pouco de conceitos matemáticos... A = {x² : x Є {0 ... 9}} B = (1, 2, 4, 8, ... 2¹²) = List Comprehensions! C = {x | x Є A e x é par}    
  • 10. 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]    
  • 11. 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    
  • 12. Aspectos mais interessantes! Iteradores e Geradores def  sequencia(numero): i = numero while True: i += 1 yield i valores = sequencia(10) valores.next() 11 valores.next() 12 ...    
  • 13. Orientação a Objetos Exemplo simples: Uso: class Pessoa(object): pessoa = Pessoa(“Fulano”, “2222 – 8754”) def __init__ (self, nome, telefone): pessoa.escreve() self.nome = nome Fulano self.telefone = telefone 2222 – 8754 def escreve(self): print “Nome: ”+self.nome print “Telefone: ”+self.telefone Em python e possível implementa herança multipla!    
  • 14. Desenvolvimento para todos os gostos!!! WEB Desktop Processamento Django; Tkinter; Imagens / scripts Zope / Plone; PyGTK; PIL; Pylons; PyQT; PythonMagick; Turbo Gears; wxPython; GIMP­Python; mod_python; ... ... ... Ciência BD Diversão Scipy; ZOBD; PyGame BioPython; gadfly; Blender AstroPy; Postgres; ... NumPy; MySQL; ... ...    
  • 15. Uso de banco de dados: PostgreSQL # Importa o módulo do PostegreSQL import PgSQL # Faz conexão com o banco de dados db = PgSQL.connect(host='host', database='bd',        user='usuario',password='senha') # Cria um cursor cursor = db.cursor() # Executa o SQL cursor.execute("SELECT * FROM tabela") # Recebe um conjunto de resultado em forma de “tupla” result = cursor.fetchall() # Navega pelos resultados armazenados na tupla for record in result: print record[0] , "­­>", record[1]    
  • 16. PERGUNTAS? Rodrigo Hübner E­mail: rhubner@gmail.com http://rodrigohubner.com    
  • 17. Referencias Bibliográficas http://pythonbrasil.com.br http://www.reinteract.org http://ipython.scipy.org http://djangoproject.org Livros: Learning to Python Beginning Game Development with Python and Pygame Dive into Python Canal IRC: #python­br (serv. FreeNode) Lista de Discussão: python­brasil (yahoo grupos) grupy­pr (google grupos)