Upload
richardsonlima
View
11.114
Download
4
Embed Size (px)
DESCRIPTION
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)
Citation preview
Por Richardson Lima [email protected] 1
Richardson [email protected]
[email protected]://richardsonlima.foxylinux.com
Por Richardson Lima [email protected] 2
Atenção
• O prazer de construir um programa em Python pode causar dependência
psicológica.
• Brincadeirinhaaaa !!!
Por Richardson Lima [email protected] 3
Esboço • O que é Python?
• Por que usar Python?
• Python, em comparação com outras linguagens.
Por Richardson Lima [email protected] 4
O que é Python?
Por Richardson Lima [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 10
Propriedades da linguagem - Tudo é um objeto- Módulos, classes, funções- Manipulação de exceção - Digitação dinâmica, polimorfismoStatic scoping
- Operador de sobrecarga (overloading)- Indentação para bloquear estrutura
Por Richardson Lima [email protected] 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 [email protected] 12
Por que usar Python?
Por Richardson Lima [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 16
Criador
• Criada em 1989 pelo holandêsGuido van Rossum no Centrumvoor 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 [email protected] 17
Python no Brasil• Embratel: monitoramento das interfaces de backbone eclientes 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 [email protected] 18
Python no mundo
• Apesar da associação cômica, Pythonvem 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 [email protected] 19
Comunidade Mundial
• URL: http://python.org/• Mail: [email protected], [email protected]• IRC: irc.freenode.org, canal #python
Por Richardson Lima [email protected] 20
Comunidade Brasileira
• URL: http://www.pythonbrasil.com.br/• Mail: [email protected]• IRC: irc.freenode.org, canal #python-br
Por Richardson Lima [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 35
Contato
• Richardson Lima ( hachid )
• Email: [email protected]• Website: http://richardsonlima.foxylinux.com
• aMSN: [email protected]
• Obtenha esta palestra em:http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf