Python para iniciantes
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Python para iniciantes

  • 12,119 views
Uploaded on

Slide da palestra sobre Python. ...

Slide da palestra sobre Python.

Programando em Python, 27 de Agosto às 19h (na Fuctura)

Por Richardson Lima, administrador de redes do grupo de pesquisas avançadas em redes de computadores, realidade virtual e multimídia na Universidade Federal de Pernambuco e desenvolvedor da comunidade Debian (sobre o curso)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
12,119
On Slideshare
11,949
From Embeds
170
Number of Embeds
4

Actions

Shares
Downloads
236
Comments
0
Likes
2

Embeds 170

http://richardsonlima.foxylinux.com 126
http://www.slideshare.net 42
http://localhost 1
https://twitter.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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