SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
          Natã Venancio de Melo
        natanvm@dsc.ufcg.edu.br
Agenda:
    
        Histórico
    
        Características
    
        Plataformas Disponíveis
    
        Implementações
    
        Licença
    
        Módulos e Frameworks
    
        Ambientes de desenvolvimento 
        Integrado
                           
Agenda:
    
        Aplicações
    
        Aprenda Python
    
        Python não é uma maravilha
    
        Eventos
    
        Python no nosso curso
    
        Ranking
    
        Guido Van Rossum

                            
Histórico
    
        Guido Van Rossum – 1989
    
        Instituto de Pesquisa Nacional para 
        Matemática e Ciência da Computação (CWI)
    
        Sucessor da linguagem ABC
    
        Aumentar Produtividade do Programador
    
        Lançamento: 1991
        
            Versão 0.90:
             
                 Módulos de Modula­3
             
                 Classes, heranças, tratamento de 
                 exceções, funções 
 
             
                 Tipos de dados nativos (list, dict, 
                                  
                 str)
Histórico
    
        1994
        
            Fórum de discussão comp.lang.python
        
            Versão 1.0:
            Adicionado de ferramentas para 
             


            computação funcional (lambda, map, 
            filter e reduce)
    
        1995:
        
            Corporação para Iniciativas Nacionais de 
            Pesquisa ­ CNRI (Reston­Estados Unidos)
        
            Versão 1.2
        
            Versão 1.4:
             
                 Linguagem ganha a capacidade de passar 
                                  
                 parâmetro pelo nome
Histórico
             
               Ganha forma de encapsulamento
             
               Suporte Nativo a número complexos
        
            Versão 1.6
        
            Versão 1.61:
             Licença CNRI
             


           
             Compatível com GPL
    
        2000:
        
            BeOpen
        
            Versão 2.0:
             
                 Listcomprehension, sistema coletor de 
 
                 lixo             
             
                 Analisador Sintático SAX
Histórico
    
        2001:
        
            PythonLabs →  Digital Creations
        
            Python Software Foundation
        
            Versão 2.1
        
            Versão 2.2:
             
                 Unificação do tipos de Python (escritos 
                 em C) e classes (escritas em Python) em 
                 somente uma hierarquia
             
                 Modelo de Objetos Python 
                 consistentemente orientado a       
                 objeto
                                  
Histórico
    
        Versão 2.3:
         
          Pacote logging
    
        Versão 2.4
    
        Versão 2.6:
         
           Transição
         
           Bibliotecas para multiprocessamento, 
           JSON, E/S
         
           Nova forma de formatação de cadeias de 
           caracteres
    
        Python 3000:
         
             O print passa a ser uma função
 
         
             Mudança de todas as cadeias de 
                               
             caractere para UNICODE
Características
    
        Construções
        
            Estrutura de Seleção
             
               if, elif, else
        
            Estrutura de Repetição
             
               for, while
        
            Estrutura de classes
             
              class
        
            Contrução de Subrotina
             
              def
        
            Construção de escopo
             
                 with          
Características
    
        Tipos de dados
        
            Valores e Objetos possuem tipos bem 
            definidos
        
            str →  “Python”, 'pet­computacao'
        
            list → ['ufcg', 10, True]
        
            dict → {“oi”:”hello”, “gordo”:”big”}
        
            int →  13,  5555555555555555L
        
            float → 12.987765432
        
            complex → 3+4j
        
            bool → True, False
        
            set, frozenset → set([1,”diogo”, “diogo”, 
                               

            13, 13])
Características
    
        Permite definição de tipo de dados 
        próprios
    
        Métodos são definidos como funções 
        anexados à classe
    
        Exemplo de criação de classe:

             class Bag:
                 def __init__(self):
                     self.data = []
                 def add(self, x):
                     self.data.append(x)
                 def addtwice(self, x):
                     self.add(x)
                     self.add(x)


                                 
Características
    
        Palavras reservadas
        
            and, del, from, not, while, as, elif, 
            global, or, with, assert, else, if, pass, 
            yield, break, except, import, print, 
            class, exec, in, raise, continue, 
            finally, is, return, def, for, lambda, 
            try 
    
        Operadores
        
            Básicos:
             
              ==, >, <, <=, >= 
        
            Lógicos:
 
             
                 and, or, not    
Características
    
        Tipagem Dinâmica
    
        Interpretador Interativo
    
        Análise Léxica
    
        Analisador Sintático
    
        Indentação e Espaços em branco
    
        Compilador de Bytecode
        
            Pode ser compilada
        
            .pyc e .pyo
        
            Módulo dis da Bilioteca
        
            Grupos de Arquivos
                                  
Características
    
        Orientação a Objetos
        
            Classes, funções, números e módulos são 
            considerados objetos
        
            Polimorfismo, herança
        
            Não há encapsulamento
             
                 Atributo de uso privado da classe: 
                 _atributo
                  
                    Classe._atributo = outro_atributo
             
                 Atributo privado: __atributo
                  
                    Classe._A__atributo = outro_atributo

                                  
Características
    
        Tratamento de Exceções

          try:
             coordenador  =  Curso.getCoordenador()
          except AttributeError:
             print “BUG”




                                    
Características
    
        Ferramentas de diversas tarefas
    
        Aplicações
        
            Internet
        
            Interfaces Gráficas
        
            Conectar em Banco de dados relacionais




                               
Plataformas Disponíveis
    
        Diversas Plataformas
        
            Unix, Windows
        
            Compilador C → gerar Python a partir do 
            código fonte




                                
Implementações
    
        CPython e Stackless Python
    
        PyS60
    
        Jython, IronPython




                              
Licença
    
        Livre, aprovada pela OSI
    
        Compatível com GPL




                              
Módulos e Frameworks
    
        Biliotecas de Funções Especializadas
        
            Desenvolvimento Web
             
              Django, Pylons, TurboGears, CherryPy
        
            Processamento de Imagem
             
              Python Imaging Library, Matplotlib
        
            Computação Gráfica e Desenvolvimento de 
            Jogos
             
              Visual Python, PyOpenGL, Pygame
        
            Computação Distribuída
             
                 PYRO
                               
Módulos e Frameworks
    
        Computação Científica
         
             Numarray 
    
        Desenvolvimento de Software
         
          Twisted
    
        Banco de dados
         
             ZODB




                           
Interfaces Gráfica
    
        Tkinter : Módulo padrão para GUI no Python
    
        PyGT : Interface para a biblioteca GTK
    
        PyQT : Interface para a biblioteca QT
    
        WxPython : Interface para a biblioteca 
        wxWidgets
    
        Wax : Modo simples do wxPython




                             
Ambientes de 
        desenvolvimento integrado
    
        Boa Constructor → wxPython
    
        Eric Python IDE → Qt
    
        Geany → GTK2
    
        IDLE → Tkinter
    
        IronPython Studio → VS2008
    
        Komodo → Mozilla 
    
        PyDev (Eclipse)
    
        PythonCard 
    
        PyScripter 
 
    
        Wing IDE                
Aplicações
    
        Projetos que utilizam Python
        
            Servidor ZOPE
        
            Mnet
        
            YouTube
    
        Organizações que utilizam a linguagem
        
            Google
        
            Yahoo
        
            NASA
        
            Air Canada

                             
Aplicações
    
        Alguns Softwares
        
            Maya
        
            Softimage XSI
        
            TrueSpace
        
            Blender
        
            GIMP




                             
Aprenda Python
    
        http://associacao.pythonbrasil.org/
    
        http://www.python.org.br/wiki
    
        http://www.python.org/
    
        http://infomoz.net/modules/
    
        http://www.s60.com/life
    
        http://opensource.nokia.com/projects/pythonfors
    
        http://www.pygame.org/news.html
    
        http://www.youtube.com/watch?v=s­fKcZ5pKLE


                             
Python não é uma Maravilha
    
        Orientação a Objetos
        
            Não há encapsulamento
        
            Incofiável quanto à atributos privados
        
            Parâmetros não define tipo
        
            Um mesmo método pode retornar vários 
            tipos de objetos 




                               
Eventos

    PyconBrasil
    
        http://pyconbrasil.com.br/
    
        http://video.google.com/videosearch?
        q=pyconbrasil3#

    EuroPython
    
        http://www.europython.eu/

    EuroSciPy
    
        http://www.euroscipy.org/

    Outros
    
        http://wiki.python.org/moin/PythonEvents
                             
Python no nosso curso
    
        2008.1 
    
        Projetos




                     
Ranking




        
     
Guido Van Rossum




            
Referências
    
        http://www.python.org.br
    
        http://www.dmat.furg.br/~python/
    
        http://wapedia.mobi/pt/Python
    
        http://www.tiobe.com




                                
Comentários




          
print “FIM”




          

Más contenido relacionado

La actualidad más candente

Unidade iii aula 02 - introdução ao java
Unidade iii   aula 02 - introdução ao javaUnidade iii   aula 02 - introdução ao java
Unidade iii aula 02 - introdução ao java
Nécio de Lima Veras
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
Christian Perone
 

La actualidad más candente (19)

Pged 03
Pged 03Pged 03
Pged 03
 
Object pascal
Object pascalObject pascal
Object pascal
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Aula05
Aula05Aula05
Aula05
 
Java 07
Java 07Java 07
Java 07
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNs
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Unidade iii aula 02 - introdução ao java
Unidade iii   aula 02 - introdução ao javaUnidade iii   aula 02 - introdução ao java
Unidade iii aula 02 - introdução ao java
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Programando com Python
Programando com PythonProgramando com Python
Programando com 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
 

Similar a Linguagem Python

TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#
Rogério Moraes de Carvalho
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
Rogério Moraes de Carvalho
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
Fabio Spanhol
 

Similar a Linguagem Python (20)

TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
 
TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
 
TDC 2011 Goiânia: Evolução da linguagem de programação C#
TDC 2011 Goiânia: Evolução da linguagem de programação C#TDC 2011 Goiânia: Evolução da linguagem de programação C#
TDC 2011 Goiânia: Evolução da linguagem de programação C#
 
Ferramentas de Planejamento e Acompanhamento
Ferramentas de Planejamento e AcompanhamentoFerramentas de Planejamento e Acompanhamento
Ferramentas de Planejamento e Acompanhamento
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Python
PythonPython
Python
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Tutorial Python - 1
Tutorial Python - 1Tutorial Python - 1
Tutorial Python - 1
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Aula python
Aula pythonAula python
Aula python
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
Linguagem Boo: A wrist friendly language for CLI
Linguagem Boo: A wrist friendly language for CLILinguagem Boo: A wrist friendly language for CLI
Linguagem Boo: A wrist friendly language for CLI
 

Más de Natã Melo

Minicurso grails
Minicurso grailsMinicurso grails
Minicurso grails
Natã Melo
 
Java Style Grading
Java Style Grading Java Style Grading
Java Style Grading
Natã Melo
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em Prolog
Natã Melo
 
Motores de busca em redes sociais
Motores de busca em redes sociaisMotores de busca em redes sociais
Motores de busca em redes sociais
Natã Melo
 
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
Natã Melo
 
Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4
Natã Melo
 
Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3
Natã Melo
 
Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2
Natã Melo
 
Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1
Natã Melo
 
Copas do Mundo de Futebol
Copas do Mundo de FutebolCopas do Mundo de Futebol
Copas do Mundo de Futebol
Natã Melo
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
Natã Melo
 
Sistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINSSistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINS
Natã Melo
 
Regresão Múltipla
Regresão MúltiplaRegresão Múltipla
Regresão Múltipla
Natã Melo
 
Educação a Distância
Educação a DistânciaEducação a Distância
Educação a Distância
Natã Melo
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por Modelos
Natã Melo
 

Más de Natã Melo (20)

Sistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - KafkaSistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - Kafka
 
[Android] Publish on Google Play & Google Analytics
[Android] Publish on Google Play & Google Analytics[Android] Publish on Google Play & Google Analytics
[Android] Publish on Google Play & Google Analytics
 
[Android] Google Service Play & Google Maps
[Android] Google Service Play & Google Maps[Android] Google Service Play & Google Maps
[Android] Google Service Play & Google Maps
 
Minicurso grails
Minicurso grailsMinicurso grails
Minicurso grails
 
Java Style Grading
Java Style Grading Java Style Grading
Java Style Grading
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em Prolog
 
Motores de busca em redes sociais
Motores de busca em redes sociaisMotores de busca em redes sociais
Motores de busca em redes sociais
 
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
 
Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4
 
Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3
 
Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2
 
Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1
 
Copas do Mundo de Futebol
Copas do Mundo de FutebolCopas do Mundo de Futebol
Copas do Mundo de Futebol
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
 
Sistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINSSistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINS
 
Terremotos
TerremotosTerremotos
Terremotos
 
Regresão Múltipla
Regresão MúltiplaRegresão Múltipla
Regresão Múltipla
 
Linguagem Go
Linguagem GoLinguagem Go
Linguagem Go
 
Educação a Distância
Educação a DistânciaEducação a Distância
Educação a Distância
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por Modelos
 

Último

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Linguagem Python

  • 1.     Natã Venancio de Melo natanvm@dsc.ufcg.edu.br
  • 2. Agenda:  Histórico  Características  Plataformas Disponíveis  Implementações  Licença  Módulos e Frameworks  Ambientes de desenvolvimento  Integrado    
  • 3. Agenda:  Aplicações  Aprenda Python  Python não é uma maravilha  Eventos  Python no nosso curso  Ranking  Guido Van Rossum    
  • 4. Histórico  Guido Van Rossum – 1989  Instituto de Pesquisa Nacional para  Matemática e Ciência da Computação (CWI)  Sucessor da linguagem ABC  Aumentar Produtividade do Programador  Lançamento: 1991  Versão 0.90:  Módulos de Modula­3  Classes, heranças, tratamento de  exceções, funções     Tipos de dados nativos (list, dict,    str)
  • 5. Histórico  1994  Fórum de discussão comp.lang.python  Versão 1.0: Adicionado de ferramentas para   computação funcional (lambda, map,  filter e reduce)  1995:  Corporação para Iniciativas Nacionais de  Pesquisa ­ CNRI (Reston­Estados Unidos)  Versão 1.2  Versão 1.4:  Linguagem ganha a capacidade de passar      parâmetro pelo nome
  • 6. Histórico  Ganha forma de encapsulamento  Suporte Nativo a número complexos  Versão 1.6  Versão 1.61: Licença CNRI   Compatível com GPL  2000:  BeOpen  Versão 2.0:  Listcomprehension, sistema coletor de    lixo    Analisador Sintático SAX
  • 7. Histórico  2001:  PythonLabs →  Digital Creations  Python Software Foundation  Versão 2.1  Versão 2.2:  Unificação do tipos de Python (escritos  em C) e classes (escritas em Python) em  somente uma hierarquia  Modelo de Objetos Python  consistentemente orientado a        objeto    
  • 8. Histórico  Versão 2.3:  Pacote logging  Versão 2.4  Versão 2.6:  Transição  Bibliotecas para multiprocessamento,  JSON, E/S  Nova forma de formatação de cadeias de  caracteres  Python 3000:  O print passa a ser uma função    Mudança de todas as cadeias de    caractere para UNICODE
  • 9. Características  Construções  Estrutura de Seleção   if, elif, else  Estrutura de Repetição   for, while  Estrutura de classes  class  Contrução de Subrotina  def  Construção de escopo    with  
  • 10. Características  Tipos de dados  Valores e Objetos possuem tipos bem  definidos  str →  “Python”, 'pet­computacao'  list → ['ufcg', 10, True]  dict → {“oi”:”hello”, “gordo”:”big”}  int →  13,  5555555555555555L  float → 12.987765432  complex → 3+4j  bool → True, False    set, frozenset → set([1,”diogo”, “diogo”,    13, 13])
  • 11. Características  Permite definição de tipo de dados  próprios  Métodos são definidos como funções  anexados à classe  Exemplo de criação de classe: class Bag:     def __init__(self):         self.data = []     def add(self, x):         self.data.append(x)     def addtwice(self, x):         self.add(x)         self.add(x)    
  • 12. Características  Palavras reservadas  and, del, from, not, while, as, elif,  global, or, with, assert, else, if, pass,  yield, break, except, import, print,  class, exec, in, raise, continue,  finally, is, return, def, for, lambda,  try   Operadores  Básicos:  ==, >, <, <=, >=   Lógicos:    and, or, not  
  • 13. Características  Tipagem Dinâmica  Interpretador Interativo  Análise Léxica  Analisador Sintático  Indentação e Espaços em branco  Compilador de Bytecode  Pode ser compilada  .pyc e .pyo  Módulo dis da Bilioteca  Grupos de Arquivos    
  • 14. Características  Orientação a Objetos  Classes, funções, números e módulos são  considerados objetos  Polimorfismo, herança  Não há encapsulamento  Atributo de uso privado da classe:  _atributo  Classe._atributo = outro_atributo  Atributo privado: __atributo  Classe._A__atributo = outro_atributo    
  • 15. Características  Tratamento de Exceções try: coordenador  =  Curso.getCoordenador() except AttributeError: print “BUG”    
  • 16. Características  Ferramentas de diversas tarefas  Aplicações  Internet  Interfaces Gráficas  Conectar em Banco de dados relacionais    
  • 17. Plataformas Disponíveis  Diversas Plataformas  Unix, Windows  Compilador C → gerar Python a partir do  código fonte    
  • 18. Implementações  CPython e Stackless Python  PyS60  Jython, IronPython    
  • 19. Licença  Livre, aprovada pela OSI  Compatível com GPL    
  • 20. Módulos e Frameworks  Biliotecas de Funções Especializadas  Desenvolvimento Web  Django, Pylons, TurboGears, CherryPy  Processamento de Imagem  Python Imaging Library, Matplotlib  Computação Gráfica e Desenvolvimento de  Jogos  Visual Python, PyOpenGL, Pygame  Computação Distribuída  PYRO    
  • 21. Módulos e Frameworks  Computação Científica  Numarray   Desenvolvimento de Software  Twisted  Banco de dados  ZODB    
  • 22. Interfaces Gráfica  Tkinter : Módulo padrão para GUI no Python  PyGT : Interface para a biblioteca GTK  PyQT : Interface para a biblioteca QT  WxPython : Interface para a biblioteca  wxWidgets  Wax : Modo simples do wxPython    
  • 23. Ambientes de  desenvolvimento integrado  Boa Constructor → wxPython  Eric Python IDE → Qt  Geany → GTK2  IDLE → Tkinter  IronPython Studio → VS2008  Komodo → Mozilla   PyDev (Eclipse)  PythonCard   PyScripter     Wing IDE  
  • 24. Aplicações  Projetos que utilizam Python  Servidor ZOPE  Mnet  YouTube  Organizações que utilizam a linguagem  Google  Yahoo  NASA  Air Canada    
  • 25. Aplicações  Alguns Softwares  Maya  Softimage XSI  TrueSpace  Blender  GIMP    
  • 26. Aprenda Python  http://associacao.pythonbrasil.org/  http://www.python.org.br/wiki  http://www.python.org/  http://infomoz.net/modules/  http://www.s60.com/life  http://opensource.nokia.com/projects/pythonfors  http://www.pygame.org/news.html  http://www.youtube.com/watch?v=s­fKcZ5pKLE    
  • 27. Python não é uma Maravilha  Orientação a Objetos  Não há encapsulamento  Incofiável quanto à atributos privados  Parâmetros não define tipo  Um mesmo método pode retornar vários  tipos de objetos     
  • 28. Eventos  PyconBrasil  http://pyconbrasil.com.br/  http://video.google.com/videosearch? q=pyconbrasil3#  EuroPython  http://www.europython.eu/  EuroSciPy  http://www.euroscipy.org/  Outros    http://wiki.python.org/moin/PythonEvents  
  • 29. Python no nosso curso  2008.1   Projetos    
  • 31.    
  • 33. Referências  http://www.python.org.br  http://www.dmat.furg.br/~python/  http://wapedia.mobi/pt/Python  http://www.tiobe.com