SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
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)



                                          

Más contenido relacionado

La actualidad más candente

Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaRanilson Paiva
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01thomasdacosta
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Unidade 04 - Estatística - Medidas de dispersão.ppt
Unidade 04 - Estatística - Medidas de dispersão.pptUnidade 04 - Estatística - Medidas de dispersão.ppt
Unidade 04 - Estatística - Medidas de dispersão.pptCrobelEtiquetas
 
Equações lineares
Equações lineares Equações lineares
Equações lineares LCCIMETRO
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02thomasdacosta
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01thomasdacosta
 
Haletos Orgânicos
Haletos OrgânicosHaletos Orgânicos
Haletos OrgânicosKaires Braga
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 

La actualidad más candente (20)

Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à Disciplina
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Raciocínio lógico parte 1
Raciocínio lógico   parte 1Raciocínio lógico   parte 1
Raciocínio lógico parte 1
 
Poo
PooPoo
Poo
 
Unidade 04 - Estatística - Medidas de dispersão.ppt
Unidade 04 - Estatística - Medidas de dispersão.pptUnidade 04 - Estatística - Medidas de dispersão.ppt
Unidade 04 - Estatística - Medidas de dispersão.ppt
 
Aula 12 medidas de dispersão
Aula 12   medidas de dispersãoAula 12   medidas de dispersão
Aula 12 medidas de dispersão
 
Equações lineares
Equações lineares Equações lineares
Equações lineares
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01
 
Haletos Orgânicos
Haletos OrgânicosHaletos Orgânicos
Haletos Orgânicos
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Aula de Logaritmos
Aula de LogaritmosAula de Logaritmos
Aula de Logaritmos
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 

Destacado

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
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
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
 

Destacado (19)

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
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em 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
 

Similar a 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
 

Similar a 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)