SlideShare uma empresa Scribd logo
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)



                                          

Mais conteúdo relacionado

Mais procurados

Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
Adriano Teixeira de Souza
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
Ulrich Schiel
 
Matemática Discreta - Parte V relações
Matemática Discreta - Parte V relaçõesMatemática Discreta - Parte V relações
Matemática Discreta - Parte V relações
Ulrich Schiel
 

Mais procurados (20)

Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Introdução à Estatística
Introdução à EstatísticaIntrodução à Estatística
Introdução à Estatística
 
Regressão Linear I
Regressão Linear IRegressão Linear I
Regressão Linear I
 
5 indexação-arvore-avl
5 indexação-arvore-avl5 indexação-arvore-avl
5 indexação-arvore-avl
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Matemática Discreta - Parte V relações
Matemática Discreta - Parte V relaçõesMatemática Discreta - Parte V relações
Matemática Discreta - Parte V relações
 
Algebra
AlgebraAlgebra
Algebra
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
05a-integrais de linha
05a-integrais de linha05a-integrais de linha
05a-integrais de linha
 
Algoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - VetoresAlgoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - Vetores
 

Destaque

Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolso
Jean Lopes
 
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
Bernardo 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 Python
Carlos Schults
 

Destaque (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
 

Semelhante a Introdução à Programação em Python

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
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
 
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
 

Semelhante a Introdução à Programação em Python (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?
 

Introdução à Programação em Python

  • 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)