SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Richardson Lima
                           securityfusion@gmail.com
                        richardsonlima@foxylinux.com
                      http://richardsonlima.foxylinux.com

Por Richardson Lima          richardsonlima@foxylinux.com   1
Atenção


    • O prazer de construir um programa em
        Python pode causar dependência
                   psicológica.

                      • Brincadeirinhaaaa !!!


Por Richardson Lima       richardsonlima@foxylinux.com   2
Esboço
• O que é Python?

• Por que usar Python?

• Python, em comparação com outras linguagens.




Por Richardson Lima   richardsonlima@foxylinux.com   3
O que é Python?




Por Richardson Lima   richardsonlima@foxylinux.com   4
Porquê Python




• Seu nome é uma homenagem ao grupo
  humorístico inglês Monty Python,adorado
  por geeks de todo o mundo.
Por Richardson Lima   richardsonlima@foxylinux.com   5
O que é Python ?
 - Prototipagem rápida de linguagem OO
 - Não é apenas uma linguagem de scripting
 - Não apenas um outro Perl
 - Extensível (incremento de novos módulos)
    C / C ++ / Fortran / qualquer coisa =)
    Java (através Jython)
 - Possível incorporar em aplicações


Por Richardson Lima      richardsonlima@foxylinux.com   6
Propriedades de alto nível
  - Extremamente portátil.
  - Unix, Windows, Mac, BeOS, Win / CE,
  DOS, OS / 2, Amiga, VMS, Cray, ...
  - Compilado para código interpretador byte code.
  - Compilação é implícita e automática.
  - Gerenciamento automático de memória.




Por Richardson Lima   richardsonlima@foxylinux.com   7
O que é Python
  - Livre (open source)
       Direitos autorais, mas não uso restrito
  - Apoio da comunidade de usuários
  - Design elegante, fácil de aprender
       Lê como "pseudo-código"
       Adequada como primeira linguagem



Por Richardson Lima     richardsonlima@foxylinux.com   8
Interfaces para o ...
- COM, DCOM, ODBC
- Bases de dados comerciais
- Java (Jython)
- Muitas bibliotecas GUI
         • Plataforma independente
            - Tk, wxWindows, GTK
         • Plataforma específica
            - MFC, MacOS, X11/Motif



Por Richardson Lima   richardsonlima@foxylinux.com   9
Propriedades da linguagem
 - Tudo é um objeto
 - Módulos, classes, funções
 - Manipulação de exceção
 - Digitação dinâmica, polimorfismo
  Static scoping
 - Operador de sobrecarga (overloading)
 - Indentação para bloquear estrutura


Por Richardson Lima   richardsonlima@foxylinux.com   10
Tipos de dados de alto nível
 - Números: int, long, float, complex
 - Strings: imutável
 - Listas e dicionários: contentores
 - Outros tipos de e.x. dados binários,
  expressões regulares, introspecção




Por Richardson Lima   richardsonlima@foxylinux.com   11
Por que usar
                       Python?


Por Richardson Lima     richardsonlima@foxylinux.com   12
Produtividade!
 - Tempo de desenvolvimento reduzido,
       > A codificação é mais rápida que C, C + +,
   Java.
- Manutenção de código
    > Código é extremamente legível
- Menor tempo de aprendizado
    > Linguagem é muito fácil de aprender



Por Richardson Lima     richardsonlima@foxylinux.com   13
Em que pode utilizado?
   - Prototipagem rápida
   - Web scripting (HTML, HTTP, ...)
   - Programação ad hoc,aplicações científicas
   - Processamento de XML (XML-RPC and SOAP )
   - Base de dados (Oracle, MySQL, PostgreSQL, ODBC, ...)
   - Aplicações GUI



Por Richardson Lima   richardsonlima@foxylinux.com    14
Quem está usando?
  - LLNL, Fermilab
  - Grupo CMU no Alice (gráficos 3D)
  - ObjectDomain (extensão de ferramenta UML)
  - Infoseek (linguagem scripting)
  - Industrial Light & Magic (tudo)
  - Yahoo! (CGI no Yahoo! Mail)
  - Digital Creations (Zope)
  - RedHat (Ferramentas de instalação)



Por Richardson Lima   richardsonlima@foxylinux.com   15
Criador
• Criada em 1989 pelo holandês
  Guido van Rossum no Centrum
  voor Wiskunde en Informatica (CWI),
  em Amsterdã,Holanda.

• O projeto de sistema operacional
  distribuído Amoeba precisava de uma
  linguagem de script. Nasce o Python.
 Por Richardson Lima   richardsonlima@foxylinux.com   16
Python no Brasil
• Embratel: monitoramento das interfaces de backbone e
clientes de internet, também existem scripts de uso interno.
• CPqD: monitoramento de centrais telefônicas.
• GPr Sistemas: Desenvolvimento de aplicações sob encomenda,
    sistemas como monitoramento de transporte terrestre via satélite são as
    soluções já feitas.

• Outras que utilizam o Python para sistemas Web, como Varig,
  Serpro,Interlegis, ...

• Os sistemas web de gestão de conteúdo usando o trio
  Python/Zope/Plone vem crescendo a cada dia, principalmente em
  grandes empresas e em órgãos do governo.



  Por Richardson Lima      richardsonlima@foxylinux.com                17
Python no mundo
• Apesar da associação cômica, Python
  vem sendo usada em projetos sérios por
  entidades como Google,Yahoo, NASA,
  InfoSeek, MCI Worldcom, IBM e Hiway, a
  maior empresa de hospedagem de web-
  sites do mundo.



Por Richardson Lima   richardsonlima@foxylinux.com   18
Comunidade Mundial



• URL: http://python.org/
• Mail: python-list@python.org, python-help@python.org
• IRC: irc.freenode.org, canal #python




 Por Richardson Lima   richardsonlima@foxylinux.com      19
Comunidade Brasileira


• URL: http://www.pythonbrasil.com.br/
• Mail: python-brasil@yahoogrupos.com.br
• IRC: irc.freenode.org, canal #python-br




Por Richardson Lima   richardsonlima@foxylinux.com   20
Python
 COMPARAÇÃO COM
OUTRAS LINGUAGENS


Por Richardson Lima   richardsonlima@foxylinux.com   21
Python vs. Perl
 - Mais fácil de aprender
 - Boa para o uso ocasional
 - Código mais legível
 - Manutenção do código
 - Menos "mágicas ", efeitos colaterais
 - Mais "segurança", garantias
 - Melhor integração Java



Por Richardson Lima      richardsonlima@foxylinux.com   22
Python vs. Tcl
 - Orientação a objeto
 - Sintaxe mais diferenciada
 - Muito mais rápido (mesmo que Tcl 8.x)
 - Menos necessidade de extensões C
 - Se usar extensões C não redefini a sintaxe
    > extensão, portanto, menos conflitos
 - Melhor integração Java
 - Python usa Tk como GUI std


Por Richardson Lima     richardsonlima@foxylinux.com   23
Python vs. Java
 - Código 5-10 vezes mais conciso
 - Digitação dinâmica
 - Desenvolvimento muito rápido
 - Não tens que compilar
 - Menos tempo de digitação
 - Sim, vai mais devagar !!!
 - Mas o desenvolvimento é muito mais rápido!
 - Utilize Python com Java: Jython!


Por Richardson Lima      richardsonlima@foxylinux.com   24
Python em web-applications
• Python é tambem a base do Zope, a mais
  sofisticada plataforma para construção de
  web-applications disponível hoje como
  open-source.




Por Richardson Lima   richardsonlima@foxylinux.com   25
Recursos
• Apesar de sua sintaxe simples e clara,
  Python oferece recursos disponíveis
  também em linguagens mais complicadas
  como Java e C++.




Por Richardson Lima   richardsonlima@foxylinux.com   26
Detalhes dos recursos
• Programação orientada a objetos

• Um moderno mecanismo para o tratamento de erros

• Possibilidade de executar o mesmo programa sem modificações em
  várias plataformas

• Recursos avançados de manipulação de textos, listas e outras estruturas
  de dados

• Módulos, uma forma inteligente de acessar e organizar código a ser
  reutilizado

  Por Richardson Lima     richardsonlima@foxylinux.com                 27
Orientação a Objeto
          • Já vi muita gente dizer que uma
       linguagem é orientada a objetos porque
           você pode criar interfaces gráficas.

                      • Não tem nada a ver.




Por Richardson Lima       richardsonlima@foxylinux.com   28
Detalhe
• Isso não significa, é claro, que não se
  pode criar aplicações com interfaces
  gráficas com Python ou com qualquer
  outra linguagem orientada ou não a
  objetos.




Por Richardson Lima   richardsonlima@foxylinux.com   29
Python OO


• Python é uma linguagem orientada a objetos,
  e nela quase tudo é um objeto, números,
  strings,funções, classes, instancias, métodos,
  ...



 Por Richardson Lima   richardsonlima@foxylinux.com   30
Python Destrói !!!
• Python nos oferece uma sintaxe simples
  mas ao mesmo tempo suporta a maior
  parte das características importantes de
  linguagens modernas e amplamente
  utilizadas como Java, C++, Perl e
  VBScript.



Por Richardson Lima       richardsonlima@foxylinux.com   31
Seu primeiro código Python
• >>> print “Oi, Mundo !"
• Oi, Mundo !

• Em JAVA !!!
• Class Oi Mundo {
•    public static void main (String[] args) {
•       System.out.println(“ Oi, Mundo”) ;
•    }
• }

Por Richardson Lima   richardsonlima@foxylinux.com   32
Brincando com Python !
•   #!/usr/bin/env python
•   import os
•   if os.path.isdir("/tmp"):
•   print "/tmp é um diretório"
•   else:
•   print "/tmp não é um diretório"


Por Richardson Lima   richardsonlima@foxylinux.com   33
The central philosophy of Python



•                     In [1]: import this




Por Richardson Lima      richardsonlima@foxylinux.com   34
Contato

             • Richardson Lima ( hachid )

• Email: richardsonlima@foxylinux.com
• Website: http://richardsonlima.foxylinux.com
• aMSN: richardson@hachid.com
•     Obtenha esta palestra em:
    http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf




Por Richardson Lima         richardsonlima@foxylinux.com                   35

Contenu connexe

Tendances

Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 
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
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
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
 
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
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
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
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Marco Mendes
 

Tendances (20)

Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
 
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
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Hackeando Dados públicos com python
Hackeando Dados públicos com pythonHackeando Dados públicos com python
Hackeando Dados públicos com python
 
Hackeando o Facebook com Python
Hackeando o Facebook com PythonHackeando o Facebook com Python
Hackeando o Facebook com Python
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
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
 
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
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
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
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011
 
Palestra BrOffice.org
Palestra BrOffice.orgPalestra BrOffice.org
Palestra BrOffice.org
 
Como tornar-se um programador Python melhor
Como tornar-se um programador Python melhorComo tornar-se um programador Python melhor
Como tornar-se um programador Python melhor
 

Similaire à Introdução à linguagem Python

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
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
 
Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Rudá Moura
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Marco Antonio Maciel
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Filipe Chagas Ferraz
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre Denis Vieira
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCETiago Freire
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! dJoelmir Ribacki
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 

Similaire à Introdução à linguagem Python (20)

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
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
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
 
Python for Maemo
Python for MaemoPython for Maemo
Python for Maemo
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 

Introdução à linguagem Python

  • 1. Richardson Lima securityfusion@gmail.com richardsonlima@foxylinux.com http://richardsonlima.foxylinux.com Por Richardson Lima richardsonlima@foxylinux.com 1
  • 2. Atenção • O prazer de construir um programa em Python pode causar dependência psicológica. • Brincadeirinhaaaa !!! Por Richardson Lima richardsonlima@foxylinux.com 2
  • 3. Esboço • O que é Python? • Por que usar Python? • Python, em comparação com outras linguagens. Por Richardson Lima richardsonlima@foxylinux.com 3
  • 4. O que é Python? Por Richardson Lima richardsonlima@foxylinux.com 4
  • 5. Porquê Python • Seu nome é uma homenagem ao grupo humorístico inglês Monty Python,adorado por geeks de todo o mundo. Por Richardson Lima richardsonlima@foxylinux.com 5
  • 6. O que é Python ? - Prototipagem rápida de linguagem OO - Não é apenas uma linguagem de scripting - Não apenas um outro Perl - Extensível (incremento de novos módulos) C / C ++ / Fortran / qualquer coisa =) Java (através Jython) - Possível incorporar em aplicações Por Richardson Lima richardsonlima@foxylinux.com 6
  • 7. Propriedades de alto nível - Extremamente portátil. - Unix, Windows, Mac, BeOS, Win / CE, DOS, OS / 2, Amiga, VMS, Cray, ... - Compilado para código interpretador byte code. - Compilação é implícita e automática. - Gerenciamento automático de memória. Por Richardson Lima richardsonlima@foxylinux.com 7
  • 8. O que é Python - Livre (open source) Direitos autorais, mas não uso restrito - Apoio da comunidade de usuários - Design elegante, fácil de aprender Lê como "pseudo-código" Adequada como primeira linguagem Por Richardson Lima richardsonlima@foxylinux.com 8
  • 9. Interfaces para o ... - COM, DCOM, ODBC - Bases de dados comerciais - Java (Jython) - Muitas bibliotecas GUI • Plataforma independente - Tk, wxWindows, GTK • Plataforma específica - MFC, MacOS, X11/Motif Por Richardson Lima richardsonlima@foxylinux.com 9
  • 10. Propriedades da linguagem - Tudo é um objeto - Módulos, classes, funções - Manipulação de exceção - Digitação dinâmica, polimorfismo Static scoping - Operador de sobrecarga (overloading) - Indentação para bloquear estrutura Por Richardson Lima richardsonlima@foxylinux.com 10
  • 11. Tipos de dados de alto nível - Números: int, long, float, complex - Strings: imutável - Listas e dicionários: contentores - Outros tipos de e.x. dados binários, expressões regulares, introspecção Por Richardson Lima richardsonlima@foxylinux.com 11
  • 12. Por que usar Python? Por Richardson Lima richardsonlima@foxylinux.com 12
  • 13. Produtividade! - Tempo de desenvolvimento reduzido, > A codificação é mais rápida que C, C + +, Java. - Manutenção de código > Código é extremamente legível - Menor tempo de aprendizado > Linguagem é muito fácil de aprender Por Richardson Lima richardsonlima@foxylinux.com 13
  • 14. Em que pode utilizado? - Prototipagem rápida - Web scripting (HTML, HTTP, ...) - Programação ad hoc,aplicações científicas - Processamento de XML (XML-RPC and SOAP ) - Base de dados (Oracle, MySQL, PostgreSQL, ODBC, ...) - Aplicações GUI Por Richardson Lima richardsonlima@foxylinux.com 14
  • 15. Quem está usando? - LLNL, Fermilab - Grupo CMU no Alice (gráficos 3D) - ObjectDomain (extensão de ferramenta UML) - Infoseek (linguagem scripting) - Industrial Light & Magic (tudo) - Yahoo! (CGI no Yahoo! Mail) - Digital Creations (Zope) - RedHat (Ferramentas de instalação) Por Richardson Lima richardsonlima@foxylinux.com 15
  • 16. Criador • Criada em 1989 pelo holandês Guido van Rossum no Centrum voor Wiskunde en Informatica (CWI), em Amsterdã,Holanda. • O projeto de sistema operacional distribuído Amoeba precisava de uma linguagem de script. Nasce o Python. Por Richardson Lima richardsonlima@foxylinux.com 16
  • 17. Python no Brasil • Embratel: monitoramento das interfaces de backbone e clientes de internet, também existem scripts de uso interno. • CPqD: monitoramento de centrais telefônicas. • GPr Sistemas: Desenvolvimento de aplicações sob encomenda, sistemas como monitoramento de transporte terrestre via satélite são as soluções já feitas. • Outras que utilizam o Python para sistemas Web, como Varig, Serpro,Interlegis, ... • Os sistemas web de gestão de conteúdo usando o trio Python/Zope/Plone vem crescendo a cada dia, principalmente em grandes empresas e em órgãos do governo. Por Richardson Lima richardsonlima@foxylinux.com 17
  • 18. Python no mundo • Apesar da associação cômica, Python vem sendo usada em projetos sérios por entidades como Google,Yahoo, NASA, InfoSeek, MCI Worldcom, IBM e Hiway, a maior empresa de hospedagem de web- sites do mundo. Por Richardson Lima richardsonlima@foxylinux.com 18
  • 19. Comunidade Mundial • URL: http://python.org/ • Mail: python-list@python.org, python-help@python.org • IRC: irc.freenode.org, canal #python Por Richardson Lima richardsonlima@foxylinux.com 19
  • 20. Comunidade Brasileira • URL: http://www.pythonbrasil.com.br/ • Mail: python-brasil@yahoogrupos.com.br • IRC: irc.freenode.org, canal #python-br Por Richardson Lima richardsonlima@foxylinux.com 20
  • 21. Python COMPARAÇÃO COM OUTRAS LINGUAGENS Por Richardson Lima richardsonlima@foxylinux.com 21
  • 22. Python vs. Perl - Mais fácil de aprender - Boa para o uso ocasional - Código mais legível - Manutenção do código - Menos "mágicas ", efeitos colaterais - Mais "segurança", garantias - Melhor integração Java Por Richardson Lima richardsonlima@foxylinux.com 22
  • 23. Python vs. Tcl - Orientação a objeto - Sintaxe mais diferenciada - Muito mais rápido (mesmo que Tcl 8.x) - Menos necessidade de extensões C - Se usar extensões C não redefini a sintaxe > extensão, portanto, menos conflitos - Melhor integração Java - Python usa Tk como GUI std Por Richardson Lima richardsonlima@foxylinux.com 23
  • 24. Python vs. Java - Código 5-10 vezes mais conciso - Digitação dinâmica - Desenvolvimento muito rápido - Não tens que compilar - Menos tempo de digitação - Sim, vai mais devagar !!! - Mas o desenvolvimento é muito mais rápido! - Utilize Python com Java: Jython! Por Richardson Lima richardsonlima@foxylinux.com 24
  • 25. Python em web-applications • Python é tambem a base do Zope, a mais sofisticada plataforma para construção de web-applications disponível hoje como open-source. Por Richardson Lima richardsonlima@foxylinux.com 25
  • 26. Recursos • Apesar de sua sintaxe simples e clara, Python oferece recursos disponíveis também em linguagens mais complicadas como Java e C++. Por Richardson Lima richardsonlima@foxylinux.com 26
  • 27. Detalhes dos recursos • Programação orientada a objetos • Um moderno mecanismo para o tratamento de erros • Possibilidade de executar o mesmo programa sem modificações em várias plataformas • Recursos avançados de manipulação de textos, listas e outras estruturas de dados • Módulos, uma forma inteligente de acessar e organizar código a ser reutilizado Por Richardson Lima richardsonlima@foxylinux.com 27
  • 28. Orientação a Objeto • Já vi muita gente dizer que uma linguagem é orientada a objetos porque você pode criar interfaces gráficas. • Não tem nada a ver. Por Richardson Lima richardsonlima@foxylinux.com 28
  • 29. Detalhe • Isso não significa, é claro, que não se pode criar aplicações com interfaces gráficas com Python ou com qualquer outra linguagem orientada ou não a objetos. Por Richardson Lima richardsonlima@foxylinux.com 29
  • 30. Python OO • Python é uma linguagem orientada a objetos, e nela quase tudo é um objeto, números, strings,funções, classes, instancias, métodos, ... Por Richardson Lima richardsonlima@foxylinux.com 30
  • 31. Python Destrói !!! • Python nos oferece uma sintaxe simples mas ao mesmo tempo suporta a maior parte das características importantes de linguagens modernas e amplamente utilizadas como Java, C++, Perl e VBScript. Por Richardson Lima richardsonlima@foxylinux.com 31
  • 32. Seu primeiro código Python • >>> print “Oi, Mundo !" • Oi, Mundo ! • Em JAVA !!! • Class Oi Mundo { • public static void main (String[] args) { • System.out.println(“ Oi, Mundo”) ; • } • } Por Richardson Lima richardsonlima@foxylinux.com 32
  • 33. Brincando com Python ! • #!/usr/bin/env python • import os • if os.path.isdir("/tmp"): • print "/tmp é um diretório" • else: • print "/tmp não é um diretório" Por Richardson Lima richardsonlima@foxylinux.com 33
  • 34. The central philosophy of Python • In [1]: import this Por Richardson Lima richardsonlima@foxylinux.com 34
  • 35. Contato • Richardson Lima ( hachid ) • Email: richardsonlima@foxylinux.com • Website: http://richardsonlima.foxylinux.com • aMSN: richardson@hachid.com • Obtenha esta palestra em: http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf Por Richardson Lima richardsonlima@foxylinux.com 35