View
11.114
Download
4
Category
Preview:
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 richardsonlima@foxylinux.com 1
Richardson Limasecurityfusion@gmail.com
richardsonlima@foxylinux.comhttp://richardsonlima.foxylinux.com
Por Richardson Lima richardsonlima@foxylinux.com 2
Atenção
• O prazer de construir um programa em Python pode causar dependência
psicológica.
• Brincadeirinhaaaa !!!
Por Richardson Lima richardsonlima@foxylinux.com 3
Esboço • O que é Python?
• Por que usar Python?
• Python, em comparação com outras linguagens.
Por Richardson Lima richardsonlima@foxylinux.com 4
O que é Python?
Por Richardson Lima richardsonlima@foxylinux.com 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 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 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 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 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 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 richardsonlima@foxylinux.com 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 12
Por que usar Python?
Por Richardson Lima richardsonlima@foxylinux.com 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 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 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 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 richardsonlima@foxylinux.com 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 richardsonlima@foxylinux.com 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 richardsonlima@foxylinux.com 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 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 21
PythonCOMPARAÇÃO COM
OUTRAS LINGUAGENS
Por Richardson Lima richardsonlima@foxylinux.com 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 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 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 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 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 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 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 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 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 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 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 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 34
The central philosophy of Python
• In [1]: import this
Por Richardson Lima richardsonlima@foxylinux.com 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
Recommended